[摘要]OFF } ON 使用模拟上下文的数据库模块(例如,用户定义函数或存储过程)可以访问数据库以外的资源。 OFF 模拟上下文中的数据库模块不能访问数据库...
OFF }
ON
使用模拟上下文的数据库模块(例如,用户定义函数或存储过程)可以访问数据库以外的资源。
OFF
模拟上下文中的数据库模块不能访问数据库以外的资源。
Alter Database QMS_Stock SET TRUSTWORTHY ON
26: IF EXISTS (SELECT * FROM sys.procedures WHERE [name] = N'SP_Hello')
27: DROP PROCEDURE [dbo].[SP_Hello];
28: GO
29:
30: CREATE PROCEDURE [dbo].[SP_Hello]
31: AS EXTERNAL NAME HowardCLRInSQLSample.[HowardCLRInSQLSample.HelloCLR].SP_Hello
32: GO
4.大功告成. 就如同使用一般function與stored procedure的方式.
1: select [dbo].[FN_Hello]()
2:
3: exec SP_Hello
Configure command
sp_configure 'clr enabled', 1
Go
RECONFIGURE
Go
exec sp_dbcmptlevel SF_Maintain, 90
Alter Database SF_Maintain SET TRUSTWORTHY ON
CREATE ASSEMBLY CLRGetJobStatus
FROM 'd:\QMS_udfudf_GetJobStatus.dll'
WITH PERMISSION_SET = UNSAFE
EXTERNAL NAME [SPSQLDll].[TestSQLDLL.clsFunctionSQL].ufn_VSDll
To get the owner SID recorded in the master database, run:
SELECT owner_sid FROM sys.databases WHERE database_id=DB_ID()
To get the owner SID recorded in the current database, run:
USE SF_Maintain
GO
SELECT sid FROM sys.database_principals WHERE name=N'dbo'
ALTER AUTHORIZATION ON DATABASE::SF_Maintain TO [sa]
常见的网络操作系统有UNIX、Netware、Windows NT、Linux等,网络软件的漏洞及缺陷被利用,使网络遭到入侵和破坏。
关键词:SQL Call dot net Dll