问题标签 [dbatools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
608 浏览

sql-server - 我已经安装了“install-dbatools”powershell脚本,但是没有copy-sqllogin或者export-sqllogin功能

我已经安装了“install-dbatools.ps1”powershell模块并且它安装成功,但是我正在寻找的功能不存在,这些功能是“Copy-SQLLogin”和“Export-SQLLogin”,如下所示

https://www.mssqltips.com/sqlservertip/4654/migrate-sql-server-logins-with-powershell/

我还在 Invoke-Expression (Invoke-WebRequest http://git.io/vn1hQ).Content下面运行了调用命令

这些命令是否已被弃用?因为我正在尝试将 SQL 登录、角色、权限等迁移到不同的服务器,或者我怎样才能以最好的方式实现这一点。

SP_HelpRevLogin 只做了一半。感谢您的帮助

我已经按照以下方式下载并安装了 dbatools:

https://www.mssqltips.com/sqlservertip/4654/migrate-sql-server-logins-with-powershell/

我还按照以下方式运行了下面的调用命令:

https://gallery.technet.microsoft.com/scriptcenter/Fully-TransferMigrate-SQL-25a0cf05#content/

Invoke-Expression (Invoke-WebRequest http://git.io/vn1hQ).Content

Invoke-Expression (Invoke-WebRequest http://git.io/vn1hQ).Content

我希望命令 Copy-SQLLogin 和 Export-SQLLogin 可用,以便将 SQL 登录、角色、权限等迁移到不同的服务器,或者我怎样才能以最好的方式实现这一点。

0 投票
1 回答
124 浏览

powershell - 如何在没有密码提示的情况下运行 Test-DbaNetworkLatency?

我正在运行Test-DbaNetworkLatency -SqlCredential sapowershell测量 sql server 网络延迟。每次运行命令时都会提示输入密码。我打算在我的服务器上安排一个 cronjob 来定期运行这个命令,所以我正在寻找一种方法来避免每次都输入密码。谁能告诉我如何在powershell中实现这一目标?

0 投票
0 回答
102 浏览

sql-server - Test-DbaNetworkLatency 如何从脚本文件加载查询

我使用Test-DbaNetworkLatencyfrom dbatools( https://docs.dbatools.io/#Test-DbaNetworkLatency ) 来检查我的应用程序服务器和 SQL 服务器实例之间的网络延迟。但Test-DbaNetworkLatency命令行查询不支持超过 128 个字符的查询字符串。我有一个很大的查询语句要测试。如何从保存的 sql 文件中加载查询?

0 投票
0 回答
1047 浏览

sql-server - docker 容器连接到 SQL Server 时的网络延迟

我有一个在 docker 容器内运行的 python 烧瓶应用程序。我正在使用Test-DbaNetworkLatency测试我的应用程序和 SQL Server(在本地运行)之间的网络延迟。我发现当它从 docker 容器运行时网络延迟非常慢,但当我在 Mac 主机上运行时它非常快。docker容器是基于ubuntu我安装powershell的。Test-DbaNetworkLatency正在从 powershell 运行。我还安装powershell在我的本地 Mac OS 上。

我本地的结果是:

但 docker 容器的结果是:

你可以看到当它从 docker 运行时有很大的网络延迟。docker有什么问题吗?

如果我从容器和本地 ping 实例并没有太大区别。但是当从容器和本地发送 sql 查询时,我确实看到了性能不同。这就是为什么我需要Test-DbaNetworkLatency测试网络延迟。

经过一些测试,我发现如果我把命令Test-DbaNetworkLatency放在里面pwsh -Command "Test-DbaNetworkLatency ... "它会很慢。但是,如果我运行pwsh切换到 powershell 命令,那么它的运行速度与我本地的一样快。但是如何定义一个 dockerfile 来让容器初始化一个powershell让我指定一个powershell脚本作为 ENTRYPOINT?

0 投票
0 回答
285 浏览

sql-server - Invoke-DbaQuery 失败 - 无法打开登录请求的数据库“”

我的脚本有这个问题。我在用dbatools

所以问题是这样的

消息错误:[Invoke-DbaQuery] 失败 | 无法打开登录请求的数据库“[我的实例中的每个数据库]”。登录失败。用户“我的用户”登录失败

0 投票
1 回答
50 浏览

powershell - 如何以指定格式将数组的值输出到文本文件

我正在使用 DBATools Module Invoke-DBQQuery(基于 Invoke-SQLCMD2)来查询 SQL 数据库。该查询将单个记录作为名为 $Results 的 PSObject 返回,如下所示...

我需要将此 PSObject 输出到一个 TXT 文件,其中只有值没有字段标题,每一行都有一个字段。看起来像这样...

如何以我需要的格式生成测试文件?

产生我列出的第一个输出。

感谢任何人可以提供的任何帮助。

-标记-

0 投票
2 回答
647 浏览

sql-server - DBATools 错误:'无法加载文件或程序集'Microsoft.SqlServer.Replication.dll 或其依赖项之一''

我正在运行下面的 Powershell

但是,我收到了错误

'警告:[14:34:02][Export-DbaRepServerSetting] 无法加载复制库 | 无法加载文件或“Microsoft.SqlServer.Replication.dll”或其依赖项之一。指定的模块无法找到。'

它成功导出了除实例复制之外的所有其他内容。我可以成功使用-Exclude 'ReplicationSettings'Export-DBAInstance工作。我还可以在安装了任何其他 SQL 版本的 Windows 2016 服务器上成功执行原始脚本。

服务器是 Windows 2016,SQL 是 2019 标准。dbatools smo 文件夹中的文件版本Microsoft.SqlServer.Replication.dll为 2017.140.1000.169,产品版本为 14.0.1000.169。中的版本C:\Program Files\Microsoft SQL Server\150\SDK\Assemblies分别为 2019.150.2000.5 和 15.0.2000.5。

我还尝试执行Invoke-Expression (Invoke-WebRequest -UseBasicParsing https://dbatools.io/in)以下载最新版本的 dbatools,解锁文件并导入 dbatools 模块。我还尝试将Microsoft.SqlServer.Replication.dllSQL 2016\2012 和 2017 实例复制到上面的 Assemblies 文件夹中。

0 投票
1 回答
229 浏览

sql-server - 将 .sql 脚本部署到单个实例上的多个数据库的简单方法

我有一个dbscript.sql文件,我想针对位于命名 SQL Server 实例上的大约 30 个数据库运行该文件。该脚本相当长(超过 1000 行),并且包含许多引号以适应使用 MS_ForEachDB 进行更改。我曾尝试过大量 ctrl-h replace-all 撇号,但最终却产生了其他错误错误。

我已经开始使用 dbatools 和 powershell 来完成这项任务,但我想知道是否有更简单的技巧可以一次将此脚本应用于多个数据库。

0 投票
2 回答
185 浏览

powershell - Powershell过滤属性值而不扩展属性名称

是否可以在不使用 -expandproperty 角色的情况下过滤“角色”属性?第一组语句向我展示了我需要什么,除了我无法过滤 Roles -eq "db_owner" 和 users -ne "user3"

如果我运行另一个语句 Get-DbaDatabase -SqlInstance $servers -Status Normal | select -expandproperty Roles| Where Name -eq 'db_owner',db_owner 的属性现在称为“名称”,它将返回“角色”-eq db_owner 的结果。

但是,它现在缺少我在第一个语句中需要的其他属性。我是否必须使用数组来存储每个语句中的值,然后将结果连接在一起,或者是否有另一种方法来过滤“角色”中的属性值?

“角色”名称 MemberType 定义的属性


角色属性 Microsoft.SqlServer.Management.Smo.DatabaseRoleCollection 角色 {get;}

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False PSCustomObject System.Object

0 投票
1 回答
300 浏览

sql-server - 如何使用 dbatools powershell 将 SQL Server 实例从本地实例迁移到 Azure VM SQL Server 实例?

如何将 SQL Server 实例从本地实例迁移到 Azure VM SQL Server 实例?

寻求专家支持解决以下问题。

设想:

本地实例:SQLSRV01

Azure 虚拟机:23.96.20.20

-本地 SQL SERVER 和 Azure VM SQL SERVER 实例为 SQLSERVER 2017 (14.0)

-为sql server添加了入站端口规则

-SharedPath 可从双方访问(本地计算机以及 Azure VM:23.96.20.20)

-DBSERVER17 实例可从本地计算机访问和连接

-相同的命令在我的本地计算机上运行良好,有两个不同的 SQL SERVER 实例。

电源外壳脚本:

收到的输出: