【997755.com澳门葡京】仓库储存进程,允许远程连接到此服务器

在SQL
Server的品质–>连接中大家得以见见这么一个取舍:’允许远程连接到此服务器’(英文是remote
access),其暗中同意值是一,表示此选项开启。

在SQL
Server的性情–>连接中大家得以观看如此三个增选:’允许远程连接到此服务器’(英文是remote
access),其暗中认可值是一,表示此选项开启。

  1. 怎么使用存款和储蓄进程

不应用链接服务器的名号,而提供独特的总是音讯,并将其看成4有的目的名的1局地。

唯独那个参数并非是字面上所展现的那么,调节着远程连接的开关,事实上那一个参数与是不是足以连续不断到数据库毫非亲非故系,在后头的版本中就要被抛弃,其效力将完全被链接服务器代替。

然而那个参数并非是字面上所出示的那样,调控着远程连接的开关,事实上这一个参数与是不是足以连绵不断到数据库毫无关系,在今后的版本中将在被放弃,其成效将完全被链接服务器代替。

     应用程序通过T-SQL语句到服务器的进度是不安全的。

997755.com澳门葡京 1 Transact-SQL
语法约定

997755.com澳门葡京 2

997755.com澳门葡京 3

     一) 数据不安全

997755.com澳门葡京 4  语法

官方网址解释:

官方网址解释:

      贰)每一次提交SQL代码都要通过语法编写翻译后在试行,影响应用程序的运营品质

OPENDATASOURCE ( provider_name, init_string )

“远程访问” 选项从运维 SQL
Server 实例的地面或远程服务器上调节存款和储蓄进度的实施。 该选取的暗中认可值为 一。 那将授权允许从远程服务器实践当地存款和储蓄进程或从本地服务器推行长途存款和储蓄进度。 若要阻拦地面存款和储蓄进度在中距离服务器上推行或远程存款和储蓄进度在本地服务器上进行,请将此选项设置为
0。

“远程访问” 选项从运维 SQL
Server 实例的地点或远程服务器上主宰存储进度的进行。 该选择的暗中认可值为 一。 那将授权允许从远程服务器实践本地存款和储蓄进程或从本地服务器推行长途存款和储蓄过程。 若要堵住地面存储进程在长途服务器上实行或远程存款和储蓄进度在该地服务器上施行,请将此选项设置为
0。

      三) 网络流量大

997755.com澳门葡京 5  参数

下1版本的 Microsoft SQL Server
将去除该成效。 请不要在新的开采专业中选拔该效用,并尽早修改当前还在应用该意义的应用程序。 改用 sp_addlinkedserver。 

下壹版本的
Microsoft SQL Server 将去除该意义。 请不要在新的支付职业中应用该意义,并飞快修改当前还在利用该意义的应用程序。 改用 sp_addlinkedserver。 

 

provider_name
登记为用于访问数据源的 OLE DB 访问接口的 PROGID 的名目。provider_name
的数据类型为 char,无暗中认可值。

【997755.com澳门葡京】仓库储存进程,允许远程连接到此服务器。 

 

  1. 哪些是积存进程

       
存款和储蓄进程是SQL语句和调整语句的预编译会集,保存在数据库里,可由应用程序调用施行,而且允许用户注脚变量、逻辑调整语句及其他庞大的编制程序功用。保存在SQLServer中,通过名称和参数推行,也可一遍到结果。对于仓库储存进度本身更倾向于把他领略成方法。它个中能够唯有一条查询语句,也得以分包一种类使用调整流的SQL语句。

init_string
老是字符串,该字符串就要传递给目的提供程序的 IDataInitialize
接口。提供程序字符串语法是以重视字值对为底蕴的,这个主要字值对由支行隔绝,举个例子:“keyword1=value**;*keyword2=value*”。

 

若要掌握提供程序上支持的特定关键字值对,请参阅 Microsoft Data Access
SDK。该文书档案定义了宗旨语法。下表列出了 init_string
参数中最常用的要害字。

  1. 积累进度的帮助和益处
关键字 OLE DB 属性 有效值和说明

数据源

DBPROP_INIT_DATASOURCE

要连接的数据源的名称。不同的提供程序用不同的方法对此进行解释。对于 SQL Server Native Client OLE DB 访问接口,这指示服务器的名称。对于 Jet OLE DB 访问接口来说,这指示 .mdb 文件或 .xls 文件的完整路径。

位置

DBPROP_INIT_LOCATION

要连接的数据库的位置。

扩展属性

DBPROP_INIT_PROVIDERSTRING

提供程序特定的连接字符串。

连接超时

DBPROP_INIT_TIMEOUT

达到该超时值后,连接尝试将失败。

用户 ID

DBPROP_AUTH_USERID

用于该连接的用户 ID。

密码

DBPROP_AUTH_PASSWORD

用于该连接的密码。

目录

DBPROP_INIT_CATALOG

连接到数据源时的初始或默认的目录名称。

集成安全性

DBPROP_AUTH_INTEGRATED

SSPI,指定 Windows 身份验证

     1) 模块化彰显设计

997755.com澳门葡京 6  注释

     贰) 推行进度快,功能高

仅当 DisallowAdhocAccess 注册表选项针对钦赐的提供程序显式设置为
0,并且启用 Ad Hoc Distributed Queries
高档配置选项时,OPENDATASOU奇骏CE 才可用来访问 OLE DB
数据源中的远程数据。假若未设置这几个采纳,则暗中同意行为不容许即席访问。

     叁) 缩小互连网流量

OPENDATASOU普拉多CE 函数能够在能够运用链接服务器名的均等 Transact-SQL
语法地点中接纳。因而,能够将 OPENDATASOUSportageCE
用作四有些名称的率先有的,该有的名称引用 SELECT、INSERT、UPDATE 或
DELETE 语句中的表或视图的称号;大概引用 EXECUTE
语句中的远程存款和储蓄进度。当实践远程存款和储蓄进程时,OPENDATASOUPRADOCE 应该引用 SQL
Server 的另3个实例。OPENDATASOUTiguanCE 不接受参数变量。

     四) 具备优良的安全性

与 OPENROWSET 函数类似,OPENDATASOU奥迪Q3CE 应该只援引那么些不常常访问的 OLE DB
数据源。对于访问次数较频繁的别的数据源,请为它们定义链接服务器。无论
OPENDATASOUPAJEROCE 照旧 OPENROWSET
都不可能提供链接服务器定义的方方面面效果,比如,安全治本以及查询目录新闻的效益。每一遍调用
OPENDATASOUBMWX伍CE 时,都无法不提供全体的连接音讯(蕴含密码)。

  1. 存款和储蓄进度的归类
重要提示:
Windows 身份验证比 SQL Server 身份验证要安全得多。应尽量使用 Windows 身份验证。OPENDATASOURCE 不应该用于连接字符串中的显式密码。

      壹)系统存款和储蓄进度

种种提供程序的连年供给与创建链接服务器时的参数要求一般。在
sp_addlinkedserver
(Transact-SQL)
大旨中列出了重重大规模提供程序的详细音信。

      2)扩充存款和储蓄进程(属于系统存储进程的一种)

997755.com澳门葡京 7  权限

      三)用户自定义存款和储蓄进度

任何用户都足以推行OPENDATASOU奥迪Q5CE。用于连接到长途服务器的权柄由接二连三字符串分明。

 

997755.com澳门葡京 8  示例

  1. 系统存储进度

以下示例将制造与服务器 London 上的 SQL Server 实例 Payroll
的即席连接,并查询 AdventureWorks.HumanResources.Employee 表。(使用
SQLNCLI 并且 SQL Server 将重定向到 SQL Server Native Client OLE DB
访问接口的时髦版本。)

      它一般以”sp_”开首,是由SQL
Server创制、管理和选取,它存放在Resource数据库中。类似C#言语类库中的方法,目前先不思虑它是怎样编写的,先领会常用的类别存款和储蓄进度及调用方法。

SELECT *
FROM OPENDATASOURCE('SQLNCLI',
    'Data Source=London\Payroll;Integrated Security=SSPI')
    .AdventureWorks.HumanResources.Employee

     常见的种类存储进程,见下壹篇小说

以下示例以 19玖7 – 200三 格式创制与 Excel 机械钟格的即席连接。

     调用方法:exec[ute]  存款和储蓄进度名  [参数值]

SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\DataFolder\Documents\TestExcel.xls;Extended Properties=EXCEL 5.0')...[Sheet1$] ;

 

997755.com澳门葡京 9  请参阅

  1.  常用的扩张存款和储蓄进度  
    xp_cmdshell

参考

OPENROWSET
(Transact-SQL)
sp_addlinkedserver
(Transact-SQL)

     xp_cmdshell
 它能够达成DOS命令下的有些操作。

任何能源

布满式查询
动用临时名称标志数据源

     exec  xp_cmdshell  DOS命令
 [no_output]

     说明
 no_output是可选参数,表示设置实行DOS命令后是还是不是输出重临新闻。

997755.com澳门葡京 ,     示例: exec xp_cmdshell  ‘mkdir
 D:\newdir’  output

     重申:
因为用户能够由此xp_cmdshell对操作系统做一些操作,倘诺该存款和储蓄进度被黑客使用对操作系统做操作就劳动了,所以一般会把xp_cmdshell
关闭掉:

     方法一: 

     SQL Server 二零零六本子及以上,
通过数据库右击  选取“方面”   ,在下拉列表中甄选 “服务器安全‘ ,
下边包车型客车列表项中得以见到xmcmdshellEnable 设置。

     SQL Server2005本子及以下,通太早先-
SQLServer- 外围设备查找

     方法二:

    关闭xp_cmdshell

    EXEC sp_configure ‘show advanced
options’, 1;

    RECONFIGURE;

    EXEC sp_configure ‘xp_cmdshell’,
1;

    RECONFIGURE;

    开启xp_cmdshell

    EXEC sp_configure ‘show advanced
options’, 1;

    RECONFIGURE;

    EXEC sp_configure ‘xp_cmdshell’,
0;

     RECONFIGURE;

 

  1. 用户自定义存储进度

   语法:

   create  proc[edure]
存储进度名

            @参数一  数据类型 = 暗许值
output, 

            ……

            @参数n  数据类型 = 暗中同意值
output

  as  

              <SQL 语句>

  go

 

 一个完事的储存进程蕴涵以下3部分:

   一) 输入参数、输出参数

   二)
在存款和储蓄进度中实行的T-SQL语句

   三) 存款和储蓄进程的再次来到值

内部输入参数允许有默许值。

    删除存款和储蓄进程

    drop proc  存款和储蓄进度名

    if  exists (select * from sysobject
where name = 蕴藏进度名)

             drop proc
 存款和储蓄进程名

    go

 

  1.  注意事项

       存款和储蓄进度的扬言:
输入参数能够有默许值,输出参数也足以有默许值

      create proc  usp_name

                  @age int = 5,

       @name
varchar(10)        

       as 

           ……

       go

        实施语句:  

           exec  pr_name  18 ,
‘zm’

            exec  default  , ‘zm’

            exec  @name = ‘zm’

       表达:
为了调用方便,最佳将有私下认可值的储存进程参数列表放到最终。

 

       带输出参数的蕴藏进度

       create proc usp_name

               @num1  int,

               @sum int output

       as

             <SQL语句>

       go 

     调用存款和储蓄进度 

      declare @sum int 

      exec  usp_name  5, @sum
 output

      注意,
调用含有输出参数的存款和储蓄进程参数后边总得带output关键字

 

  1. 管理存款和储蓄进程中的错误

    raiserror  ( {msg_id  | msg_str}
{, serverity, state } [with option [,……]])

    其中:

    msg_id:
在sysmessage系统表中钦命用户定义错误音信

    msg_str:
用户定义的特定消息,最长为253个字符

    serverity:
与特定新闻相关联,表示用户定义的机要等第。用户可选择的品级是0~18。数字越大,表示越严重。

     state : 表示错误的情状,
1~255中的值

     option:
错误的自定义选项,能够使一下随意壹值

    LOG: 在Microsoft SQl Server
数据库引擎示例的失实日志和应用程序日志中著录错误

         
NOWAIT:将音讯随即发送给客户端

       SETERROR:将@@error值和
ERROR_NUMBEENVISION 值设置为msg_id 或六千, 不用思量严重等级。

          举例: raiserror (‘错误音信’,
1陆,一)

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website