• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Command Prompt(Dos) vs. SQL Server 2005(Windows)

Các bài viết hướng dẫn và tham khảo chung, không thuộc ngôn ngữ nào

Điều hành viên: vietluyen

Hình đại diện của người dùng
thanhlv
Thành viên tích cực
Thành viên tích cực
Bài viết: 124
Ngày tham gia: T.Bảy 18/11/2006 11:49 pm
Đến từ: Hà Nội
Liên hệ:

Command Prompt(Dos) vs. SQL Server 2005(Windows)

Gửi bàigửi bởi thanhlv » T.Hai 10/11/2008 7:33 pm

Tên bài viết: Command Prompt(Dos) vs. SQL Server 2005(Windows)
Tác giả: thanhlv
Cấp độ bài viết:
Tóm tắt: Tương tác qua lại giữa Command Prompt và SQL Server 2005


Mục lục:
Bài 1: SqlWb – Khởi động SQL Server Management Studio
Bài 2: Sac – Export,Import đặc tính của các thành phần, dịch vụ trong SQL
Bài 3: SqlCmd Mode – Môi trường Dos trong Query Editor
Bài 4: Sqlcmd-Thực thi T-SQL và Scripts
Bài 5: Bcp - Sao chép Data với khối lượng lớn
Bài xxx: ..........
( ~O) cập nhật)


Sống ở trên đời cần có một Tấm Lòng để lúc đói còn có chỗ mà nhét Thức Ăn
http://giaiphapit.vn

Hình đại diện của người dùng
thanhlv
Thành viên tích cực
Thành viên tích cực
Bài viết: 124
Ngày tham gia: T.Bảy 18/11/2006 11:49 pm
Đến từ: Hà Nội
Liên hệ:

Re: Command Prompt(Dos) vs. SQL Server 2005(Windows)

Gửi bàigửi bởi thanhlv » T.Hai 10/11/2008 7:47 pm

Bài 1:
Tên bài viết: SqlWb – Khởi động SQL Server Management Studio


-Description:
+Tiện ích SqlWb cho phép open SQL Server Management Studio từ cửa sổ Command Prompt, nếu được chỉ định, SqlWb sẽ thiết lập một kết nối đến Server, mở các queries, scripts, files, projects, solutions, ....

+Với việc chỉ ra các files chứa các queries, projects, solutions, … , các files đó sẽ tự động kết nối đến server nếu thông tin kết nối được cung cấp và kiểu files được kết hợp với kiểu của server.

+Note: Tiện ích SqlWb ko thực thi 1 query,nó chỉ mở Query Edition chứa các truy vấn trong SQL Server Management Studio, để chạy queries bằng command line, sử dụng SqlCmd hoặc OSql.

-Syntax:
   

Mã: Chọn hết

  1. sqlwb
  2.     [scriptfile] [projectfile] [solutionfile]
  3.     [-S servername] [-d databasename] [-U username] [-P password]
  4.     [-E] [-nosplash] [-?]

Scriptfile, projectfile, solutionfile: Chỉ ra một hoặc nhiều scripts,projects,solutions để open chúng, các tham số này phải là đường dẫn đầy đủ đến các files đó.
[-S servername]: nhập tên server sau đối số [-S]
[-d databasename]: nhập tên database sau đối số [-d]
[-U username]: nhập tài khoản truy cập sau đối số [-U]
[-P password]: nhập mật khẩu tương ứng sau đối số [-P]
[-E]: chỉ ra bạn đang kết nối ở chế độ Windows Authentication, khi một User đã đăng nhập được vào server, nghĩa là nó có quyền kết nối đến SQL Server ở Windows Authentication Mode, điều này hiển nhiên.
[-nosplash]: ngăn cản ko cho mở SQL Server Management Studio, dùng lựa chọn này khi kết nối đến máy tính chạy SQL Server Management Studio với ý nghĩa là: dịch vụ đầu cuối (Terminal Services) trên một kết nối với một giới hạn băng thông.
[-?]: hiển thị trợ giúp

-Example:
+Mở SQL Server Management Studio từ command prompt với thiết lập mặc định

Mã: Chọn hết

  1. Sqlwb

Lệnh trên ko chứa bất kì 1 đối số nào, nó sẽ mở cửa sổ SQL Server Management Studio từ đó có thể chọn các chế độ kết nối đến server.

+Mở Server Management Studio ở chế độ Windows Authentication

Mã: Chọn hết

  1. Sqlwb –E


+Mở Server Management Studio ở chế độ SQL Server Authentication với Query Editor chiếu đến 1 server, với 1 tài khoản và 1 database

Mã: Chọn hết

  1. Sqlwb –S bandungthu –U sa –P ****** -d TestSqlServer


+Mở một scriptfile
Tạo 1 script và lưu nó thành c:\MyFolder\TestSqlWb.sql

Mã: Chọn hết

  1. Sqlwb [–E] "c:\myfolder\testsqlwb.sql"

Phải đặt đường dẫn trong cặp dấu " " nếu tên thư mục hoặc tên file chứa khoảng trắng, ngược lại thì ko cần, nhưng để an toàn thì luôn nhớ làm điều đó.

+Note:
Phía trên là một vài ví dụ với tiện ích SqlWb, bạn có thể mở bất kì 1 file tương thích với kiểu của SQL Server, nghĩa là sau đó có thể chạy chúng và cho ra kết quả với những dịch vụ trên Server Management Studio, bạn có thể trình diễn 1 text file trên Server Management Studio nhưng chẳng nghĩa lý gì nếu nó ko sử dụng được.
Những đối số đặt trong cặp [ ] có thể xuất hiện hoặc ko tùy vào mục đích của người sử dụng.
Sống ở trên đời cần có một Tấm Lòng để lúc đói còn có chỗ mà nhét Thức Ăn
http://giaiphapit.vn

Hình đại diện của người dùng
thanhlv
Thành viên tích cực
Thành viên tích cực
Bài viết: 124
Ngày tham gia: T.Bảy 18/11/2006 11:49 pm
Đến từ: Hà Nội
Liên hệ:

Re: Command Prompt(Dos) vs. SQL Server 2005(Windows)

Gửi bàigửi bởi thanhlv » T.Hai 10/11/2008 8:26 pm

Bài 2:
Tên bài viết: Sac – Export,Import đặc tính của các thành phần, dịch vụ trong SQL Server Surface Area Configuration


-Desciption:
+Tiện ích Sac dùng để Import hoặc Export SQL Server Surface Area, dùng Sac bạn có thể cấu hình Surface Area trên một máy tính và áp dụng chúng cho các máy tính khác.

+Cách dễ dàng nhất để sử dụng Sac là sử dụng giao diện người dùng SQL Server Surface Area Configuration để cấu hình trên một máy tính, tiếp theo dùng Sac để export các thiết lập trên máy tính đó đến 1 file, sau đó dùng Sac để áp dụng các thiết lập đó cho tất cả các thành phần của SQL Server, đến các instances khác của SQL Server trên local computer hoặc trên remote computers.

+Note:
file sac.exe ko nằm trong thư mục "x:\Program Files\Microsoft SQL Server\90\Tools\Binn" nên ko thể chạy nó theo cách thông thường là mở Command Prompt và sử dụng ngay.
Để chạy Sac trước tiên mở cửa sổ Command Prompt và đổi tên đường dẫn thể hiện bằng cách gõ lệnh:

Mã: Chọn hết

  1. cd x:\Program Files\Microsoft SQL Server\90\Shared


-Syntax:

Mã: Chọn hết

  1. sac {in | out} filename [-S computer_name]
  2.     [-U SQL_login [–P SQL_ password]]
  3.     [-I instance_name ]
  4.     [-DE] [-AS] [-RS] [-IS] [-NS] [-AG] [-BS] [-FT]
  5.     [-F] [-N] [-T] [-O]
  6.     [-H | -?]

in: Import các thiết lập của Surface Area từ một file và cấu hình các instances, chỉ ra bởi instance_name, sử dụng các thiết lập đó.
out: Export các thết lập của Surface Area từ một instance đến các files được chỉ ra bởi filename
filename: đường dẫn đầy đủ đến file cần dùng khi import hoặc export các thiết lập Surface Area.
[-S], [-U], [-P]: đã quá rõ
[-I instance_name]: xác định instance của SQL Server để chạy Sac, nếu lựa chọn này ko được chỉ định, Sac sẽ kết nối đến tất cả các instances của SQL Server. Instance mặc định là MSSQLServer.
[-DE]: Import or export Database Engine settings.
[-AS]: Import or export Analysis Services settings.
[-RS]: Import or export Reporting Services settings.
[-IS]: Import or export Integration Services settings.
[-NS]: Import or export Notification Services settings.
[-AG]: Import or export SQL Server Agent settings.
[-BS]: Import or export the SQL Server Browser service settings.
[-FT]: Import or export the Full-Text Search service settings.
[-F]: Import hoặc export các trạng thái của các đặc tính phía dưới cho các thành phần xác định:
bảng các đặc tính đã viết:

Component                     |              Features


Database Engine                             Ad hoc remote queries
                                                        CLR integration
                                                        DAC
                                                        Database Mail
                                                        Native XML Web service
                                                        OLE automation
                                                        SQL Server Service Broker
                                                        SQL Mail
                                                        Web assistant
                                                        xp_cmdshell


Analysis Services                           Ad hoc data mining queries
                                                        Anonymous connections
                                                        Linked objects
                                                        User-defined functions


Reporting Services                          Scheduled events and report delivery
                                                        Web service and HTTP access
                                                        Windows integrated security

[-N]: Import hoặc Export trạng thái của Network protocols để điều khiểu từ xa cho các thành phần xác định.
[-T]: Import hoặc Export trạng thái của các dịch vụ Windows cho các thành phần xác định.
[-O]: Chỉ ra tên của file nhận các dòng lệnh đưa ra từ Sac.
[-H | -?]: Hiển thị cú pháp lệnh, các đối số khác được bỏ qua.

-Example:
+Export tất cả các Instances ngầm định

Mã: Chọn hết

  1. Sac out "c:\myfolder\bandungthu.txt" –S bandungthu –U sa –I MSSQLSERVER

Command Prompt sẽ hiện dấu nhắc đòi nhập pass
Đoạn lệnh trên export tất cả các đặc tính, các kết nối và các thiết lập dịch vụ cho instance ngầm định SQL Server đến file bandungthu.txt

+Import các thiết lập đặc thù đến các server khác

Mã: Chọn hết

  1. Sac in "c:\myfolder\bandungthu.txt" –S server1 –F

Đoạn lệnh trên chỉ import những đặc tính thiết lập trên bandungthu.txt và áp dụng chúng cho instance ngầm định trên server1

+Export tất cả các đặc tính và các thiết lập Network

Mã: Chọn hết

  1. Sac out "c:\myfolder\server1.out" –F –N

Đoạn lệnh trên export tất cả các thiết lập đặc thù và kết nối, nhưng ko chứa các thiết lập dịch vụ,nói chung là export tất cả các instances ngầm định SQL Server và các thành phần trừ cá thiết lập dịch vụ trên local server1 ra server1.out.

+Import tất cả các thiết lập

Mã: Chọn hết

  1. Sac in "c:\myfolder\server1.out" –S server2

Đoạn lệnh trên import tất cả cá thiết lập trên server1.out đến server2

+Import các trạng thái dịch vụ

Mã: Chọn hết

  1. Sac in "c:\myfolder\server1.out" –S server2 –T

Đoạn lệnh trên chỉ import trạng thái của những dịch vụ chứa trong server1.out đến các dịch vụ tương ứng trên server2.

+Tùy vào mục đích và cách sử dụng các đối số, bạn có thể tạo ra các files chứa các thiết lập mong muốn, và áp dụng chúng cho các server khác.
Sống ở trên đời cần có một Tấm Lòng để lúc đói còn có chỗ mà nhét Thức Ăn
http://giaiphapit.vn

Hình đại diện của người dùng
thanhlv
Thành viên tích cực
Thành viên tích cực
Bài viết: 124
Ngày tham gia: T.Bảy 18/11/2006 11:49 pm
Đến từ: Hà Nội
Liên hệ:

Re: Command Prompt(Dos) vs. SQL Server 2005(Windows)

Gửi bàigửi bởi thanhlv » T.Năm 13/11/2008 5:10 pm

Bài 3:
Tên bài viết: SQLCMD Mode - Môi trường Dos trong Query Editor


-Description:
+Với việc sử dụng Database Engine Query Editor trong SQL Server Management Studio ở chế độ SQLCMD bạn có thể ghi hoặc chỉnh sửa các query như một kịch bản sqlcmd trong Command Prompt.

+Query Editor có thể được chuyển đổi sang SQLCMD Mode,nó cho phép thực thi các phát biểu Sqlcmd trong SQL Server Management Studio.

+Dùng SQLCMD Mode khi bạn phải xử lý các phát biểu Transact-SQL và các lệnh của hệ thống trong cùng 1 tập lệnh.

+Để ghi hoặc chỉnh sửa các kịch bản Sqlcmd trong Query Editor cần Enable SQLCMD Mode:
B1: trong Object Explorer kích chuột phải lên Server, chọn New Query để mở 1 cửa sổ Query Editor.
B2: Trên Query menu, kích chọn SQLCMD Mode.
Lúc này Query Editor đã có thể thực thi các phát biểu Sqlcmd trong phần nội dung của nó.
B3: Trên SQL Editor Toolbar, trong Listbox Available Databases chọn Database muốn làm việc.

-Syntax:
Database Engine Query Editor hỗ trợ các Keywords sau:
!!<command> command là các lệnh làm việc với hệ thống hoặc các phát biểu Transact-SQL.
[!!:]GO[count] sau lệnh này Query Editor sẽ thực thi count lần các lệnh phía trên và cho ra count lần kết quả.
:exit(statement) thoát khỏi phát biểu.
:quit như :exit
: r <filename> filename là đường dẫn đầy đủ đến scriptfile, dùng lệnh này khi thực thi một scriptfile ko đòi hỏi cung cấp value cho biến kịch bản.
Xét ví dụ trên 2 kịch bản đều có chứa biến

Mã: Chọn hết

  1. Use Pubs
  2. :setvar code "213-46-8915"
  3. Select au_id,au_lname,au_fname from authors where au_id='$(code)'

Lưu script trên thành c:\myfolder\test_r_command.sql
Khi thực thi ta chỉ cần

Mã: Chọn hết

  1. :r "c:\myfolder\test_r_command.sql"

Kết quả hiển thị trong Result tab

Và:

Mã: Chọn hết

  1. Use Pubs
  2. Select au_id,$(ColumnName1),$(ColumnName2) from authors
  3. where au_id='213-46-8915'

Lưu script trên thành c:\myfolder\nottest_r_command.sql
khi thực thi đoạn script này ta ko thể dùng :r mà phải dùng SqlCmd để truyền giá trị cho các biến kịch bản.

Mã: Chọn hết

  1. !!sqlcmd -v columnname1=au_lname -v columnname2=au_fname -i "c:\myfolder\nottest_r_command.sql"

:setvar <var> <value> khai báo biến kịch bản.(xem SqlCmd Utility)
:connect server[\instance] [-l login_timeout] [-U user [-P password]] connect đến SQL Server với các đối số được chỉ định.
:error <filename>|stderr|stdout gửi thông báo lỗi đến 1 file được chỉ định hoặc trong messages tab của Query Editor.
:out <filename>|stderr|stdout xuất kết quả ra file được chỉ định hoặc ra messages tab.
+Tham khảo thêm SQL Server 2005 Tutorials

-Example

Các databases sử dụng trong các bài viết là Pubs và Sqlcmd_Db, nếu chưa có 2 databases này,here
+Thực thi một sqlcmd script

Mã: Chọn hết

  1. !!sqlcmd -Q "use sqlcmd_db select * from Mem_VBClub"

Kết quả được hiển thị trên Messages tab của Query Editor.
sqlcmdmode.JPG

Lưu ý: với SQLCMD Mode trong Query Editor ta ko dùng được switch –q bởi vì nó sẽ ko thoát khỏi sqlcmd khi hoàn thành query, nó sẽ chạy mãi mà ko cho ra kết quả, vì vậy thay cho cho –q là –Q để thoát khỏi sqlcmd khi query được hoàn thành.

Thử một ví dụ khác sử dụng :setvar

Mã: Chọn hết

  1. :setvar code 11
  2. !!sqlcmd -Q "use sqlcmd_db select * from Mem_VBClub where id=$(code)"

setvar_sqlcmdmode.JPG

Ví dụ này chỉ nhằm mục đích chỉ cho bạn bít sẽ có một số trường hợp cần linh động trong việc sử dụng SQLCMD Mode trong Query Editor.
rõ ràng chế độ SQLCMD trong Query Editor làm được mọi việc giống như tiện ích Sqlcmd trong Command Prompt.

+Tung ra thông điệp lỗi phát sinh khi chạy các commands
:error <filename>|stderr|stdout

Mã: Chọn hết

  1. :error "C:\MyFolder\test_error.txt"
  2. :setvar code 11
  3. select * from Mem_VBClub where id=$(code)

test_err_exec.JPG

dòng lệnh :error "C:\MyFolder\test_error.txt"
báo cho Query Editor biết tên file chứa thông báo lỗi và địa chỉ nó được tạo ra.
hãy xem lỗi gì xuất hiện khi thực thi đoạn lệnh trên bằng cách mở file test_error.txt.
test_err_text.JPG

thông báo cho biết tên table Mem_VBClub là ko hợp lệ, vì nó ko nằm trong Database Master, để hợp lý hóa đoạn lệnh trên phải chọn Database sqlcmd_db trong Available Databases list hoặc khai báo cụ thể database được dùng trong đoạn script đó.

+Xuất kết quả ra text file hoặc messages tab
:out <filename>|stderr|stdout
Cách dùng tương tự :error nhưng mục đích thì khác nhau, nếu không có lỗi :out trả về kết quả của việc thực thi đoạn script (ra text file hoặc messages tab tùy chọn <filename> hoặc stderr|stdout), nếu có lỗi, :out không làm gì(hiển nhiên).

-Extension:
Ta nói nhiều đến các sqlcmd script mà chưa đả động gì đến các lệnh hệ thống trong môi trường Dos.
SQLCMD Mode cho phép thực thi hầu hết những lệnh làm việc với OS mà một Command Prompt có thể làm được, điều này hữu dụng khi trong một tập lệnh cần chứa cả những sqlcmd script và các lệnh thao tác với thư mục, tập tin, các lệnh tác động đến hệ thống của bạn, ...

Mã: Chọn hết

  1. !!dir
Trả về thông tin của các files và thư mục chứa trong directory mặc định

Mã: Chọn hết

  1. !!dir "đường dẫn cụ thể"
Trả về thông tin của các files và thư mục trong directory chỉ định

+Thử xem lệnh Del nhé

Mã: Chọn hết

  1. !!md "e:\MyFolder"

hoặc

Mã: Chọn hết

  1. !!mkdir "e:\MyFolder"

Mã: Chọn hết

  1. !!copy "c:\myfolder\server.txt" "e:\myfolder"

Xóa file

Mã: Chọn hết

  1. !!del "e:\myfolder\server.txt"
Lệnh Del này hoạt động bình thường

Bây giờ ta thử xóa một tập hợp các files xem sao nhé

Mã: Chọn hết

  1. !!copy "c:\myfolder\*.*" "e:\myfolder"

Xóa nhiều file

Mã: Chọn hết

  1. !!del "e:\myfolder\*.*"

Điều gì xảy ra, vì giao diện tương tác trong Query Editor ko giống với Command Prompt,nghĩa là khi xóa nhiều hơn 1 file với 1 lệnh duy nhất Command Prompt sẽ đưa ra thông báo an toàn (Y/N)? rằng: bạn có chắc chắn muốn xóa một tập hợp files hay không. Tuy nhiên trong Query Editor 1 thông báo tương tự cũng được tung ra trong messeages tab nhưng ta ko có cách nào để trả lời câu hỏi trong thông báo đó, vì vậy đoạn lệnh sẽ chạy mãi mà ko dừng.
Để giải quyết việc này đặt switch /Q trước đường dẫn chỉ định mà nó chứa các files cần xóa(phân cách bằng khoảng trống) để thoát khỏi lệnh del khi hoàn thành dòng lệnh, sửa câu lệnh trên thành:

Mã: Chọn hết

  1. !!del /Q "e:\myfolder\*.*"

Ví dụ này chỉ nhằm mục đích nhắc cho bạn sẽ có một số trường hợp cần linh động trong việc sử dụng SQLCMS Mode trong Query Editor.
Sống ở trên đời cần có một Tấm Lòng để lúc đói còn có chỗ mà nhét Thức Ăn
http://giaiphapit.vn

Hình đại diện của người dùng
thanhlv
Thành viên tích cực
Thành viên tích cực
Bài viết: 124
Ngày tham gia: T.Bảy 18/11/2006 11:49 pm
Đến từ: Hà Nội
Liên hệ:

Re: Command Prompt(Dos) vs. SQL Server 2005(Windows)

Gửi bàigửi bởi thanhlv » T.Ba 09/12/2008 11:20 am

Extra: Một chút về xp_cmdshell(Transact-SQL)


-Description:
Tùy chọn xp_cmdshell là một tùy chọn cấu hình máy chủ cho phép enable hệ thống quản trị viên để kiểm soát xem xp_cmdshell được mở rộng bởi thủ tục lưu trữ có thể thực thi trên hệ thống không. Mặc định, xp_cmdshell là disable khi cài đặt mới, để enable dùng Surface Area Configuration tool hoặc chạy system stored procedure sp_configure
+Note: xp_cmdshell là một extended stored procdure chứ ko phải là một thành phần trong SQLCMD Mode.
Để enable xp_cmdshell cần cho phép các lựu chọn nâng cao được phép thay đổi:

Mã: Chọn hết

  1. exec sp_configure 'show advanced options', 1
  2. go
  3. reconfigure
  4. go
để hủy cấp phép thay giá trị 1 bằng 0

để enable xp_cmdshell chạy:

Mã: Chọn hết

  1. exec sp_configure 'xp_cmdshell', 1
  2. go
  3. reconfigure
  4. go
tương tự, để disable thay 1 bằng 0

-Syntax:

Mã: Chọn hết

  1. Xp_cmdshell { 'command_string' } [ , no_output ]

Các records được trả về trong một cột nvarchar(255)
'command_string' là chuỗi chứa 1 lệnh được chuyển đến hệ điều hành, kiểu của command_string là varchar(8000) hoặc nvarchar(4000) và ko có giá trị mặc định. Command_string ko được chứa hơn 2 dấu "(double quotation marks) trong phần nội dung. Nếu có bất kỳ một khoảng trống nào xuất hiện trong đường dẫn thì nó phải chứa trong cặp dấu " ".
no_output: là một tham số tùy chọn,nếu chỉ ra thì nó sẽ ko trả về kết quả phía client và một chuỗi duy nhất được trả về: "The command(s) completed successfully"
Kết quả trả về của xp_cmdshell:
0=thành công
1=thất bại

-Example:
Thử một số lệnh đơn giản.
Xem các files và thư mục trong directory mặc định 'x:\WINDOWS\system32'.

Mã: Chọn hết

  1. Exec xp_cmdshell 'dir'

Xem các files và thư mục trong directory chỉ định.

Mã: Chọn hết

  1. Exec xp_cmdshell 'dir đường dẫn cụ thể'

Gửi thông điệp đến tất cả các máy tính trong Workgroup hoặc Domain.

Mã: Chọn hết

  1. Exec xp_cmdshell 'net start messenger'
  2. Waitfor delay '00:00:15'
  3. Exec xp_cmdshell 'net send * Welcome to Workgroup/Domain !'

Code trên chứa lệnh 'net start service_name', với service được chỉ định, lệnh này dùng để khởi động Messenger service cho phép gửi message trong môi trường Workgroup hoặc Domain.

Thử tạo một procedure gửi thông điệp đồng thời thực hiện một số việc cần thiết.

Mã: Chọn hết

  1. Create proc From_Admin
  2. As
  3.     --Chạy dịch vụ Messenger nếu nó chưa được start
  4.     Exec xp_cmdshell 'net start Messenger'
  5.     --Gửi thông điệp cho các client trong Domian
  6.     EXEC xp_cmdshell 'net send * "SQL Server Stop trong vòng 5 phút để bảo dưỡng."', no_output
  7.     --Ngừng cung cấp dịch vụ
  8.     EXEC xp_cmdshell 'net pause mssqlserver'
  9.     --Sau 2 phút
  10.     WAITFOR DELAY '00:02:00'
  11.     --Gửi thông báo tiếp theo
  12.     EXEC xp_cmdshell 'net send * "SQL Server Stop trong vòng 3 phút"', no_output
  13.     --Sau 2 phút tiếp theo
  14.     WAITFOR DELAY '00:02:00'
  15.     --Gửi thông báo lần nữa
  16.     EXEC xp_cmdshell 'net send * "SQL Server Stop trong vòng 1 phút"', no_output
  17.     --Chờ nốt 1 phút
  18.     WAITFOR DELAY '00:01:00'
  19.     --Tắt dịch vụ 'SQL Server Agent' (SQLSERVERAGENT) nếu nó đang Start trên Instance của bạn. Lệnh này rất quan trọng, nếu không tắt dịch vụ này trước(nếu nó đang chạy) thì sẽ ko tắt được dịch vụ SQL Server.
  20.     EXEC xp_cmdshell 'net stop sqlserveragent', no_output
  21.     EXEC xp_cmdshell 'net send * "Byeeeeeee..........!"', no_output
  22.     --Stop dịch vụ 'SQL Server' (MSSQLSERVER)
  23.     EXEC xp_cmdshell 'net stop mssqlserver', no_output
  24.    

Phía trên là một vài giới thiệu về xp_cmdshell, cách nó được kích hoạt và làm việc, xp_cmdshell là tương đối rộng và ko thể nói hết trong 1 bài viết, để biết thêm chi tiết, tham khảo SQL Server Online(SQL Server Tutorials)
Note: Thận trọng khi sử dụng xp_cmdshell, nó là công cụ trợ giúp cho SQL Injection thâm nhập và làm hại đến server của bạn. Vì vậy cần cân nhắc trước khi enable lựa chọn này.
Sống ở trên đời cần có một Tấm Lòng để lúc đói còn có chỗ mà nhét Thức Ăn
http://giaiphapit.vn

Hình đại diện của người dùng
thanhlv
Thành viên tích cực
Thành viên tích cực
Bài viết: 124
Ngày tham gia: T.Bảy 18/11/2006 11:49 pm
Đến từ: Hà Nội
Liên hệ:

Re: Command Prompt(Dos) vs. SQL Server 2005(Windows)

Gửi bàigửi bởi thanhlv » T.Năm 11/12/2008 9:06 pm

Bài 5:
Tên bài viết: Bcp - Sao chép Data với khối lượng lớn


-Description:
+Bcp tạm dịch là copy data với khối lượng lớn(tùy theo cách định nghĩa của mỗi người) giữa một Insctance của Microsoft SQL Server 2005 và một file dữ liệu do người dung định dạng.

+Tiện ích bcp được sử dụng để import một số lượng lớn các dòng dữ liệu từ các data files vào các tables trong SQL Server hoặc export dữ liệu từ trong các tables ra các data files. Ngoại trừ trường hợp sử dụng lựa chọn queryout, còn lại tiện ích bcp không đòi hỏi phải hiểu biết về Transact-SQL.

+Tham khảo them SQL Server Book Online.

-Synstax:

Mã: Chọn hết

  1. Bcp {[[database_name.][owner].]{table_name | view_name} | "query"}
  2.     {in | out | queryout | format} data_file
  3.     [-mmax_errors] [-fformat_file] [-x] [-eerr_file]
  4.     [-Ffirst_row] [-Llast_row] [-bbatch_size]
  5.     [-n] [-c] [-w] [-N] [-V (60 | 65 | 70 | 80)] [-6]
  6.     [-q] [-C { ACP | OEM | RAW | code_page } ] [-tfield_term]
  7.     [-rrow_term] [-iinput_file] [-ooutput_file] [-apacket_size]
  8.     [-Sserver_name[\instance_name]] [-Ulogin_id] [-Ppassword]
  9.     [-T] [-v] [-R] [-k] [-E] [-h"hint [,...n]"]

~O) ...
Sống ở trên đời cần có một Tấm Lòng để lúc đói còn có chỗ mà nhét Thức Ăn
http://giaiphapit.vn


Quay về “Bài viết hướng dẫn”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách