我试图通过脚本创建数据库后创建SQL Server登录.登录是主机PC的本地登录,此脚本将在多个主机上运行.
我想做的是以下内容:
USING MyDatabase
CREATE MyUser FOR LOGIN USER <computer name>/MyUser
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做是将计算机名称(例如Location0001)合并到此语句中.
登录确实存在于每台计算机上并且已经在SQL Server上列出,因为它可以访问其他数据库.
如果相关,脚本应该能够在SQL Server 2008上运行.
每台机器的登录名如下:
Location0001\MyUser
Location0002\MyUser
Location0999\MyUser
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很感激,谢谢.
编辑:根据接受的答案我的最终解决方案如下:
DECLARE @cmd VARCHAR(200)
SET @cmd = N'CREATE USER [MyUser] FOR LOGIN [' + HOST_NAME() + '\MyUser]'
EXEC (@cmd)
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以使用@@ servername属性获取计算机的名称: select @@servername
declare @cmd varchar(200), @username varchar(50)
set @username = 'testuser'
set @cmd = '
USE MyDatabase
CREATE USER MyUser FOR LOGIN '+@@servername+'\'+@username
PRINT @cmd
EXEC (@cmd)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10345 次 |
| 最近记录: |