我现在有2台数据库服务器(A与B),均安装的是SQL Server 2005数据库;有没有办法让A的存储过程直接操作B的表?
请给出详细的配置等实例,谢谢!
第1题:
我看一些文章介绍说使用压缩数据库功能,可以压缩日志文件大小,我现在的数据库日志文件3个多G了,我使用压缩但没用,请各位专家指教,谢谢!
网上写的压缩数据库日志一般都是指数据库日志截断,一般OLTP数据库的日志会不断增长的,建议如果对数据库日志保留的要求不高可以定期截断。
SQL SERVER2000/2005的截断方法一样,08不同,该方法如下:(实践证明非常好用,截断过10G的日志)
backup log DataBaseName with NO_LOG
go
DBCC SHRINKDATABASE(DataBaseName, 10, TRUNCATEONLY)
go
希望能对你的工作的所帮助,祝工作顺利。
一般情况下,收缩数据库并压缩文件大小不会有很在的差别,除非将日志文件备份后进行操作。
--最好备份日志,以后可通过日志恢复数据。。。
1.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG 库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(库名)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
DBCC SHRINKFILE(1)
4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b.在我的电脑中删除LOG文件
c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将生成新的LOG,大小只有500多K
a.分离
b.删除日志文件
c.再附加
5.为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
6.如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)
第2题:
设数据库管理员为SQL Server 2008默认实例中的某数据库实施了基于维护计划的数据库备份任务。配置完成后,发现此维护计划并未执行但数据库运行正常。有关此维护计划未执行的原因,下列说法中最有可能的是( )。
A.“SQL Server(MSSQLSERVER)”服务未启动
B.“SQL Server代理(MSSQLSERVER)”服务未启动
C.“SQL Server Browser”服务未启动
D.“SQL Server VSS Writer”服务未启动
第3题:
请教:SQL SERVER 2005中的文件与文件组具体怎么使用?
我现在的服务器做的是2块SAS硬盘做的RAID1,分了2个区,数据库文件为3G多,我想把数据库分成N个文件,全部属于PRIMARY组中,不知道这样是否能够提升效率?
文件与文件组这种机制的好处究竟是什么呢?
因为,硬盘已经做了RAID1,一般不建议将数据文件再分至多个文件组或同一文件组中的多个数据文件,可以将不同业务用途的数据表放到不同的数据文件,但如果仅为了提升效率不建议这样做。因为即便分了文件组,数据库的读写操作也仍然在同一块硬盘磁盘上进行,不会有效率的提升。
如果非要提升效率,可以将将数据文件与日志文件分开存储,有利于恢复与容灾(基于某个磁盘分区逻辑损坏,如果硬盘或RAID损坏,数据仍将丢失)
建议能对你有帮助。
第4题:
请描述一下SQL Server数据库的存储结构。
SQL Server数据库的存储结构包括物理存储结构和逻辑存储结构两个层面。
在物理层面上,SQL Server数据库是由两个操作系统文件组成的,即数据文件和事务日志文件,它们的后缀分别是MDF和LDF。数据文件主要用于存储数据,事务日志文件主要用于存储数据库的更新情况等事务日志信息。在逻辑层次上,数据库是由表、视图、存储过程等一系列数据对象组成的。当采用SQL Server企业管理器将上述数据库文件“打开”后,就能看到数据库的逻辑结构了,如图XXX所示。数据库中的数据分别存储在几个不同的对象中,而这些对象是用户在操作数据库时,实际能够看到和接触到的,属于逻辑存储结构。常用的数据库对象主要包括:表(Table)、索引(Index)、视图(Views)、触发器(Triggers)、存储过程(Store Procedures)、缺省(Default)、约束(Constraints)、用户(Users)以及图表(Diagram)和用户自定义的数据类型等。
略
第5题:
SQL Server2005中的Create Database语句可以创建一个()。
A.表
B.系统数据库
C.用户数据库
D.视图
第6题:
在SQL SERVER 2005使用数据导入功能的时候,可以使用输入SQL语句方式导入数据。但我发现,每次只能输入一条查询语句,导入到一个表。我想要实现我输入N条查询语句,就像选择N张表导入一样,不知道该如何实现?
有几种方式可以实现你的需求,如果SQL不变的情况下,可以通过下面方式实现:
前提条件需要在目标实例上创建链接服务器指向原SQL实例;
1、编写多个分布式查询,使用SQL Server Management Studio一起执行
如INSERT INTO 表名 SELECT * FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名
(其中分布式查询如果创建链接服务器,源数据表也可以使用4段命名方式编写)
2、通过代理的JOB方式执行上面的批量SQL,可以实现自动导入。
3、可以创建SSIS包进行指导入。
希望对你有所帮助。
假如有两张表first、second表
first表
xuehao |
name |
chengji |
640 |
Li hui |
80 |
639 |
Xiao dong |
70 |
second 表
xuehao |
Kecheng |
640 |
Shuxue |
639 |
Yuwen |
查询不同学号的 同学上的课和成绩
语句:
SELECT first.chengji second.kecheng
FROM first second
WHERE first..xuehao=second.xuehao
指令意思:
查询first表的chengji、second表的kecheng
从 表first、表second中查询
条件是两表中的学号一样
使用关键是给出哪张表下的属性:如first表下的chengji,用first.chengji
把几条查询语句写好,同时执行
第7题:
在SQL Server2005中,当数据表被修改时,系统自动执行的数据库对象是()。
A.存储过程
B.触发器
C.视图
D.其他数据库对象
第8题:
服务器内存:8G(操作系统中能识别出来)
操作系统:Windows Server 2003企业版(32位)
数据库:SQL SERVER 2005企业版
我在网上看了一些文章,有说32位的2003不支持8G内存的,也有说支持的;同时,SQL SERVER 2005在2003下做AWE配置的话,还需要设置boot.ini……
看了一圈后,发现不知道究竟相信谁的,请有实际经验的专家帮我解答一下,谢谢!
WINDOWS2003物理地址扩展模式下是可以支持8G内存的,我单位就有。
SQL SERVER使用AWE管理内存不需要配置BOOT.INI,只需要在实例属性页的内存标签页复选“使用AWE分配内存”并设置最小和最大服务器内存即可,都不需要重启实例。
第9题:
SQL Server2005的备份设备是用存储()备份的存储介质。
A.数据库、文件和文件组、事务日志
B.数据库、文件和文件组、文件文件
C.表、索引、存储过程
D.表、索引、图表
第10题:
导入数据是从SQL Server的()中检索数据,并将数据插入到SQL Server表的过程。