我需要使用 Powershell 自动更改 MS SQL 2014 实例上数据库的大小。
目前,我们执行以下手动步骤。
- 打开 SQL Server Management Studio
- 连接到实例
- 右键单击,单击数据库上的属性
- 选择
Files
页面 - 将数据库文件
Initial Size
的值加倍ROWS Data
LOG
如何使用 Powershell 执行此操作?
不需要 Powershell 远程处理。这可以从 SQL 服务器主机执行。
答案1
我原本希望修改 Powershell 对象。因此我忽略了从 Powershell 调用 SQL 查询这一显而易见的解决方案。
这是通过Invoke-Sqlcmd
cmdlet 完成的。
我在网上找到了以下查询,并根据我的情况对其进行了修改。
USE master;
GO
ALTER DATABASE AdventureWorks2012
MODIFY FILE
(NAME = test1dat3,
SIZE = 20MB);
GO
要修改的文件是MOM_DATA
和MOM_LOG
。查询跨越多行,因此我将其放在名为 的单独文件中change_db_size.sql
。
我执行了如下查询。
Invoke-Sqlcmd -InputFile "change_db_size.sql" -ServerInstance "SERVERNAME\INSTANCENAME"