Doc*_*nes 9 sql-server-2008 sql-server stored-procedures linked-server
我有一个指向链接服务器的存储过程。在整个过程中的几个地方,我得到了如下内容:
INSERT INTO [TableName]
(...Columns...)
SELECT ...Columns...
FROM [ServerName\InstanceName].[Catalogue].[dbo].[TableName]
WHERE TableNameID = @TableNameID
Run Code Online (Sandbox Code Playgroud)
这个过程存在于我的开发环境、测试环境和实时环境中。
问题是该过程的每个副本都略有不同,因为每个环境的服务器名称都不同。这使得管理脚本更新的部署变得很麻烦。
有没有办法使程序可移植,以便每个环境都可以运行相同版本的程序?
如果没有,我可以做些什么来使脚本部署更不容易出错/错误?
Eli*_*Eli 14
链接服务器的名称不必是服务器的名称。您可以使用通用名称。
EXEC master.dbo.sp_addlinkedserver
@server = N'COMMONNAME',
@srvproduct=N'MSDASQL',
@provider=N'SQLNCLI',
@provstr=N'DRIVER={SQL Server};SERVER=ACTUALSERVERNAME;UID=user1;PWD=rosebud567;',
@catalog=N'database1'
Run Code Online (Sandbox Code Playgroud)
在每个具有相同名称的环境上设置链接服务器,但实际上将它们指向不同的服务器。
归档时间: |
|
查看次数: |
5103 次 |
最近记录: |