djd*_*d87 2 sql t-sql sql-server-2005
鉴于远程服务器'Production'(目前可通过IP访问)和本地数据库'Development',如何INSERT使用T-SQL从'Production' 运行'Development'?
我正在使用MS SQL 2005,两个数据库之间的表结构有很大不同,因此需要我手动编写一些迁移脚本.
更新:
T-SQL真的不是我的包.我尝试了以下(不知道我在做什么):
EXEC sp_addlinkedserver
@server = N'20.0.0.1\SQLEXPRESS',
@srvproduct=N'SQL Server' ;
GO
EXEC sp_addlinkedsrvlogin '20.0.0.1\SQLEXPRESS', 'false',
'Domain\Administrator', 'sa', 'saPassword'
SELECT * FROM [20.0.0.1\SQLEXPRESS].[DatabaseName].[dbo].[Table]
Run Code Online (Sandbox Code Playgroud)
我收到错误:
用户''登录失败.用户未与受信任的SQL Server连接关联.
创建链接服务器,然后使用4部分表示法
insert table
select <column names>
from LinkedserverName.DatabaseName.SchemaName.TableName
Run Code Online (Sandbox Code Playgroud)
你也可以使用OPENROWSET
例
insert table
SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;',
'SELECT GroupName, Name, DepartmentID
FROM AdventureWorks2008R2.HumanResources.Department
ORDER BY GroupName, Name') AS a;
Run Code Online (Sandbox Code Playgroud)
试试这个来创建登录
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'20.0.0.1\SQLEXPRESS',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'sa',
@rmtpassword='saPassword'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7368 次 |
| 最近记录: |