将电脑上的sqlserver数据库迁移到另一台电脑

*近在做一个课程设计,我一个同学负责数据库创建。他在他电脑上建完我要拿过来使用,可是怎么导入到我的电脑上呢,我再网上查了好多,找到了一个简单粗暴的方法。
操作如下:
1.右键你需要的数据库–>任务–>分离

%title插图%num

%title插图%num

2.找到你的sqlserver安装文件夹

%title插图%num

这里把你需要的数据库(如jjj)的两个相关文件拷贝到另一台电脑上,这里注意,你*好还是要放到sqlserver的这个文件夹,放别的地方可能会报错,因为文件夹的读写属性还有用户权限不一样,反正修改起来特别麻烦。

3.到另一台电脑上,右键–>附加–>选择你的mdf文件,确定,大功告成,数据库成功导入,简单吧!

%title插图%num

我试了直接把文件复制过去,导入也成功了,所以不是很明白为什么要分离,我在网上查了一下:
数据库分离是指将数据库文件从数据库服务器实例中分离出来,相当于关闭了数据库。数据库分离后,应用程序不能连接到该数据库,数据库文件可以被其它进程访问。通常分离数据库用于快速地将数据库迁移到另一个SQLSERVER实例。
其实我还是不明白,嘻嘻。

Sqlserver 修改服务器名称

–原因分析:

–@@SERVERNAME 提供当前配置的本地服务器名称。

–serverproperty(‘servername’)  提供实例名名称

–修复方法如下:

 

use master        go
select @@servername
select serverproperty(‘servername’)

IF serverproperty(‘servername’)<>@@servername
BEGIN
DECLARE  @server SYSNAME
SET   @server=@@servername
EXEC  sp_dropserver @server=@server
SET   @server=cast(serverproperty(‘servername’) AS SYSNAME)
EXEC  sp_addserver @server=@server,@local=’LOCAL’
END
ELSE
PRINT ‘实例名与主机名一致,无需修改!’

验证方式: 检查表  select * from sys.sysservers

重启实例让修改生效

如何获取本地网络中的所有(sqlserver)服务器名称,并测试其连通性!

加上头#include <utilcls.h>和#include <ComObj.hpp>

ComboBox1->Items->Clear();
Variant SQLServer;
Variant ServerList;
int i,nServers;
String sRetValue;
SQLServer =CreateOleObject(“SQLDMO.Application”);
ServerList=SQLServer.OleFunction(“ListAvailableSQLServers”);
nServers=ServerList.OlePropertyGet(“Count”);
for (int i=1; i<nServers;i++ )
{
if(AnsiString(ServerList.OleFunction(“Item”, i))!=”(local)”)
ComboBox1->Items->Add(ServerList.OleFunction(“Item”, i) );
}
ComboBox1->ItemIndex=0;
SQLServer=NULL;
ServerList=NULL;
————————————————

sqlserver 查看服务器名称以及sql语句跨服务器查询设置

print ‘服务器的名称:’+@@SERVERNAME

print ‘SQL Server的版本’ + @@VERSION

SELECT @@SERVERNAME as ‘服务器名称’

select @@VERSION as ‘SQL Server的版本’

数据库跨服务器设置:

EXEC  sp_addlinkedserver
@server=’userdb’,   –链接服务器别名
@srvproduct=”,
@provider=’SQLOLEDB’,
@datasrc=’127.0.0.1′  –要访问的的数据库所在的服务器的ip
GO
EXEC sp_addlinkedsrvlogin
‘userdb’,                  –链接服务器别名
‘false’,
NULL,
‘sa’,                     –要访问的数据库的用户
‘xxxx’                    –要访问的数据库,用户的密码

GO

查询的时候:

select * from 服务器名称.数据库.dbo.表名