SQL Server连接远程数据源的基本方法
SQL Server连接远程数据源的基本方法有下面三种:
OPENDATASOURCE: The OPENDATASOURCE function is used to specify connection information for a remote data source by specifying the OLE DB provider and an initialization string. OPENDATASOURCE can be used directly within a SELECT, INSERT, UPDATE, or DELETE statement.
OPENROWSET: The OPENROWSET function is used to specify connection information for a remote data source and the name of an object that will return a result set (such as a stored procedure) or a query that will return a result set. Like OPENDATASOURCE, OPENROWSET can be used directly within a SELECT, INSERT, UPDATE, or DELETE statement.
Linked servers: A linked server is an object within SQL Server that defines the connection properties of another SQL Server. When defined, queries can connect to the remote server using a four-part name, such as
SQLSrv1.AdventureWorks.person.Contact
The four-part name identifies the server (SQLSrv1), the database (AdventureWorks), the schema (Person), and the object (Contact table). Linked servers are explored in more depth in the final section of this chapter.
其中OPENDATASOURCE和OPENROWSET方法一般用来做临时查询(ad hoc query),如果需要经常的查询远程数据,则建议创建linked servers。但是,默认情况ad hoc query 是禁用的,需要手动启动:
sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE;
GO
sp_configure ‘Ad hoc Distributed Queries’, 1;
GO
RECONFIGURE;
===========================
常用语句:
SELECT a.*
from OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'd:\aaa.xls';'admin';'', data)
AS a
以下语句能成功,上一天语句却不行:OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。
[OLE/DB provider returned message: 不可识别的数据库格式 'd:\aaa.xls'。]
SELECT *
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\aaa.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...data$
SELECT *
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'D
相关文档:
SQL 中的主键的作用:
能够唯一表示数据表中的每个记录的【字段】或者【字段】的组合就称为主码(主键)。
作用
1、主键唯一的识别每一记录;
2、主键将记录和存放在其他表中的数据进行关联。在这一点上,主键是不同表中各记录之间的简单指针。
若有两个表A,B,key是A的主键,而B中也有key字段,则key就是表B的外键。
A ......
EXEC和sp_executesql的区别?
DBCC FREEPROCCACHE --》清空缓存中的执行计划
SELECT cacheobjtype,objtype,usecounts,sql from sys.syscacheobjects WHERE sql NOT LIKE '%cach%' AND sql NOT LIKE '%sys.%' --》查找对应的缓存中的对应计划
SQL Server为每一个的查询字符串创建新的执行计划,即使查询模式相同也是这样
......
1. 死锁原理
根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。
死锁的四个必要条件:
互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。
请求与保持条件(Ho ......
请按步骤进行,未进行前面的步骤时,请不要做后面的步骤,以免损坏你的数据库。
一般不建议做第4,6两步,第4步不安全,有可能损坏数据库或丢失数据。第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复。
1、清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2、截断事务日志
B ......
Sql Server 中一个非常强大的日期格式化函数
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select ......