SQL Server sp_configure 控制内存使用

背景知识:

            sp_configure   显示或更改当前服务器的全局配置设置(使用 sp_configure 可以显示或更改服务器级别的设置。)

            查看 全局配置值

            方法 1、execute sp_configure;直接查看所有。

            方法 1、execute sp_configure @configname='Name';直接查看指定。

            方法  2、保存到表中以方便操作

                        第一步:建表

                                 create table InstanceConfigure(
                                 name nvarchar(35),
                                 minimum int,
                                 maximum int,
                                 config_value int,
                                 run_value int);
                                 go

                         第二步:插入数据

                                  insert into InstanceConfigure
                                  execute sp_configure;
                                  go

-----------------------------------------------------------------------------------------------------------------------------------------------------------

方法 1、

         min server memory 是指sql server r 地址空间增长到这上值以后,就不会小于这个值。当启动sql server时只申请所需要的内存。

         execute sp_configure @configname = 'min server memory (MB)',@configvalue = 100
         reconfigure with override;
         go

方法 2、

         max server memory 控制 total server memory 的最大大小。也是通过sp_configure 配置;

方法 3、

         set working set size 这个过时了,windows 以不再尊重这个参数。也是通过sp_configure 配置;

         请不要用。

方法 4、

         lock pages in memory   

         查看我的文章:

                          http://www.cnblogs.com/JiangLe/p/4008036.html

 

### 使用 sp_configure 启用 Ad Hoc Distributed Queries 的具体步骤 #### 1. ### 显示高级选项 在 SQL Server 中,默认不会显示所有的配置选项。要启用 `Ad Hoc Distributed Queries`,首先需要通过以下命令来显示高级选项: ```sql EXEC sp_configure 'show advanced options', 1; RECONFIGURE; ``` 这一步是为了让系统管理员可以调整更深层次的配置参数[^1]。 #### 2. ### 启用 Ad Hoc Distributed Queries 一旦高级选项被激活,下一步就是实际启用 `Ad Hoc Distributed Queries` 功能。执行如下语句即可实现这一目标: ```sql EXEC sp_configure 'Ad Hoc Distributed Queries', 1; RECONFIGURE; ``` 这个命令的作用是允许运行临时性的分布式查询,这对于使用 `OPENROWSET` 或者 `OPENDATASOURCE` 来访问外部数据源是非常必要的[^2]。 #### 3. ### 验证配置更改 为了确认 `Ad Hoc Distributed Queries` 已经成功启用,可以通过查询系统表 `sys.configurations` 来获取当前的状态信息: ```sql SELECT name, value, value_in_use FROM sys.configurations WHERE name = 'Ad Hoc Distributed Queries'; ``` 如果返回的结果中列 `value_in_use` 值为 `1`,那么说明该功能已经被成功启用了[^3]。 #### 4. ### 安全措施 - 及时关闭不必要的配置 出于安全性和性能优化的角度考虑,在不需要再使用 `Ad Hoc Distributed Queries` 之后,应该及时将其关闭。具体的关闭方法如下所示: ```sql EXEC sp_configure 'Ad Hoc Distributed Queries', 0; RECONFIGURE; EXEC sp_configure 'show advanced options', 0; RECONFIGURE; ``` 这样做不仅有助于提升数据库的安全等级,还可以减少因误操作而导致的数据泄露风险[^3]。 --- ### 注意事项 - 上述所有操作都需要具备足够的权限才能顺利完成,通常只有具有 `ALTER SETTINGS` 权限或者属于 `sysadmin` 固定角色成员的身份才可以执行这些 T-SQL 命令。 - 当涉及到生产环境中大规模部署的时候,请务必先在一个隔离的小规模环境下充分测试后再推广到正式环境当中去。 - 如果尝试连接远程数据源失败并报错提到关于组件 `'Ad Hoc Distributed Queries'` 被阻止的信息,则按照上述流程开启对应的功能即可解决此类问题[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值