SQL Server 阻止了对组件“xp_cmdshell”的 过程“sys.xp_cmdshell”的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

今天在创建数据库的时候突然发现,xp_cmdshell的存储过程不能用了,网上一搜,发现大部分都是只关闭安全配置,然后就有了下文

代码:具体的看注释,值得一提的是==》reconfigure with override,上面一句语句如果不加这句,则只是临时可用,不会影响系统原有配置(可以理解为==》不加就是new和加了就是override

代码贴上:

复制代码
--创建目录(如果指定的路径不存在就会报错)
exec sp_configure 'show advanced options',1 --显示高级选项
reconfigure with override--重新配置
    exec sp_configure 'xp_cmdshell',1 --1代表允许,0代表阻止
    reconfigure with override
        exec xp_cmdshell 'mkdir F:\Work\SQL mkdir E:\SQL'
    exec sp_configure 'xp_cmdshell',0
    reconfigure with override
exec sp_configure 'show advanced options',0
reconfigure with override
复制代码

SQL也贴上吧,比较这玩意总得有个语境吧:

复制代码
--如果数据库存在就删除
use master
if exists(select * from sysdatabases where Name=N'LawyerBlog')
begin
drop database LawyerBlog
end

--创建目录(如果指定的路径不存在就会报错)
exec sp_configure 'show advanced options',1 --显示高级选项
reconfigure with override--重新配置
    exec sp_configure 'xp_cmdshell',1 --1代表允许,0代表阻止
    reconfigure with override
        exec xp_cmdshell 'mkdir F:\Work\SQL mkdir E:\SQL'
    exec sp_configure 'xp_cmdshell',0
    reconfigure with override
exec sp_configure 'show advanced options',0
reconfigure with override

--创建数据库
create database LawyerBlog
on primary                    --数据库文件,主文件组
(
    name='LawyerBlog_Data', --逻辑名
    size=10mb,                --初始大小
    filegrowth=10%,            --文件增长
    maxsize=1024mb,            --最大值
    filename=N'F:\Work\SQL\LawyerBlog_Data.mdf'--存放路径(包含文件后缀名)
),
filegroup ArticleData --Article文件组(表创建到不同的文件组里面可以分担压力)
(
    name='LawyerBlog_Data_Article',
    size=10mb,
    filegrowth=10%,
    maxsize=1024mb,
    filename=N'E:\SQL\LawyerBlog_Data_Article.ndf'
)
log on --日记
(
    name='LawyerBlog_Log1',
    size=5mb,
    filegrowth=5%,
    filename=N'F:\Work\SQL\LawyerBlog_log1.ldf'
),
(
    name='LawyerBlog_Log2',
    size=5mb,
    filegrowth=5%,
    filename=N'E:\SQL\LawyerBlog_log2.ldf'
)
go
复制代码

扩展:

如果是普通用户要有ALTER SETTINGS权限才能运行sp_configure(一般管理员才有这个权限)

向数据库添加数据文件或日志文件

  1. 连接到数据库引擎。

  2. 在标准菜单栏上,单击“新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行”此实例向数据库添加由两个文件组成的文件组。此示例在 AdventureWorks2012 数据库中创建文件组 Test1FG1,然后将两个 5MB 的文件添加到该文件组。

    复制代码
    USE master
    GO
    ALTER DATABASE AdventureWorks2012
    ADD FILEGROUP Test1FG1;
    GO
    ALTER DATABASE AdventureWorks2012 
    ADD FILE 
    (
        NAME = test1dat3,
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\t1dat3.ndf',
        SIZE = 5MB,
        MAXSIZE = 100MB,
        FILEGROWTH = 5MB
    ),
    (
        NAME = test1dat4,
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\t1dat4.ndf',
        SIZE = 5MB,
        MAXSIZE = 100MB,
        FILEGROWTH = 5MB
    )
    TO FILEGROUP Test1FG1;
    GO
    复制代码

     

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
8天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
2月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据查询
【数据库SQL server】关系数据库标准语言SQL之数据查询
95 0
|
2月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之视图
【数据库SQL server】关系数据库标准语言SQL之视图
76 0
|
2月前
|
SQL 人工智能 算法
【数据库SQL server】传统运算符与专门运算符
【数据库SQL server】传统运算符与专门运算符
68 0
|
18天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
16 0
|
8天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
66 6
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
12天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
14 1
|
25天前
|
SQL 存储 Python
Microsoft SQL Server 编写汉字转拼音函数
Microsoft SQL Server 编写汉字转拼音函数