批量导入用户到SQL Azure

时间:2012-08-24 10:25:06

标签: sql-server tsql powershell azure

我正在寻找一种简单的方法来创建登录和关联用户到SQL Azure。

问题是,对于Azure,首先需要在master数据库中创建登录。 根据该登录信息,我需要在特定数据库(DATABASE1

中创建用户

之后需要分配角色:

CREATE LOGIN login1 WITH password='<ProvidePassword>';
CREATE USER login1User FROM LOGIN login1;
EXEC sp_addrolemember 'dbmanager', 'login1User';
EXEC sp_addrolemember 'somerole';

问题是,由于无法使用USE命令切换数据库,这似乎变得非常乏味。更重要的是,因为每个数据库的帐户数量可以从十个到几百个,所以数据库和用户一直在增加。

所以我需要一个可以轻松重复使用的解决方案。

我想要一些脚本(powershell?)来读取文件(包含用户名,密码和数据库名),然后创建相应的登录,用户和权限......

锦上添花将是某种工作,可以定期检查某个文件夹中是否存在(新)文件,如果有,请阅读这些文件并在需要时创建新帐户。

我必须承认,我确实拥有TSQL知识,基本的编程知识,但根本没有Powershell经验。你怎么建议我去的? PowerShell还有可行吗?或者我可以使用其他机制吗?

问候,Henro

1 个答案:

答案 0 :(得分:2)

正如here所述,您确定可以使用桌面计算机上的Powershell连接到SQL数据库,以便像连接到其他SQL Server一样管理SQL数据库帐户。 PowerShell脚本可以在内部部署的计算机上运行,​​并使用系统管理对象或数据层应用程序框架对象连接到SQL数据库。

这方面的第一步是让你的Powershell命令连接到SQL数据库,你可以使用this article来到这里。

之后你只需要使用Powershell脚本来创建用户登录和快速搜索我发现this articlethis one有希望,其中包括一些功能以及你的目标。您可能需要调整脚本以使其与SQL数据库一起使用。

最后,您可以搜索互联网,从文件中读取数据(或更好地使用XML),并将用户信息提供给SQL数据库脚本。如果您在步骤之间有任何问题,请打开具体问题,您将得到帮助。