SQL Server Express

Microsoft SQL Server Express是微軟公司所開發的關係資料庫產品SQL Server的免費下載版本，可自由下載、分發及使用。這個版本的設計是專門為嵌入式系統或較小型的程式而設計。本產品可遡源至過往隨同SQL Server 2000軟體分發的Microsoft Database Engine (MSDE)，用以讓程式開發者在其測試其程式時建立一個系統需求較低的測試環境。自SQL Server 2005開始，本產品改用現時的名稱。它繼承了多數的SQL Server功能與特性，像是Transact-SQL、SQL CLR等，相當適合使用在小型的網站，或者是小型的桌面型應用程式，它也可以和 SQL Server 整合，作為的訂閱端。功能與限制.SQL Server Express提供了付費的完整版本的多項功能，然而其技術限制使之無法適用於大規模的部署。這兩個版本的差異在於：MSDE有一個併發工作負債監控器並限制在少量使用者併發訪問，SQL Server Express沒有這個併發限制。SQL Server Express包括了幾個資料庫管理的圖形使用者介面工具：MSDE 沒有管理介面SQL Server Express不包括全功能標準版的幾個工具：SQL Server Express的各版本是可以遠端連線的，但需要使用者做一定的配置。過往版本.安裝版本.SQL Server Express 2017 或 2019，SQL Server Express有三款安裝版本：到伺服器的連線.SQL Server包括Express版本，有3種到資料庫伺服器的連線方式：其中後兩種需要在SQL Server Configuration Manager軟體中，SQL Server Network Configuration下的“Protocols for SQLEXPRESS”，把Nameed Pipes與TCP/IP手工置為Enable。對於第三種，還需要在上述的配置時，在TCP/IP Properties的IP Addresses中把IPALL的“TCP Port”設為1433.工具.$sqlcmd -S thisisaserver.com -U usernamePassword:1&gt; SELECT name FROM SYSOBJECTS WHERE xtype = 'U'2&gt; GOnameEquitySecMstr(1 rows affected)1&gt;LocalDB.LocalDB的全稱是Microsoft SQL Server Express LocalDB。安裝.從Microsoft下載的SqlLocalDB.msi約54MB。也可以使用Microsoft SQL Server Express的安裝程式，在第一頁選擇第3項“Download Media”，隨後在下一頁選擇第3項“localDB(54MB)”即可下載。使用.命令列工具SqlLocalDB，用於建立和管理LocalDB的例項。C:\&gt; SqlLocalDb infoC:\&gt; SqlLocalDb create "MyInstance"C:\&gt; sqllocaldb info "MyInstance"C:\&gt; sqllocaldb start "MyInstance"系統資料庫檔案儲存於本地AppData路徑下，通常為codice_1。LocalDB 是在Windows當前使用者的使用者程序中執行。而SQL Server Express是作為Windows Service執行。所以，LocalDB的資料儲存是Windows使用者私有的。在Visual Studio啟動IIS Express也是當前使用者的使用者程序執行，所以可以訪問LocalDB。把私有的資料儲存變為共享例項。例如，原儲存為“(localdb)\v11.0”：sqllocaldb share v11.0 IIS_DB現在為公共名字IIS_DB。該電腦所有使用者均可以用“(localdb)\.\IIS_DB”訪問該例項。注意，名字中的字首“\.”表示這是共享例項名字。即其儲存的檔案的路徑不會放在特定使用者的documents目錄中。連線字串可為：Data Source=(localdb)\.\IIS_DB;Initial Catalog=OldFashionedDB;Integrated Security=True在Visual Studio中透過 SQL Server Object Explorer 連線上述localDB例項，在query視窗執行下述指令碼可以授予“”賬號資料例項的管理員許可權：create login [IIS APPPOOL\ASP.NET v4.0] from windows;exec sp_addsrvrolemember N'IIS APPPOOL\ASP.NET v4.0', sysadminSQLCMD使用的連線字串.codice_2就可以在互動環境下執行查詢：SELECT @@VERSION;GOCREATE DATABASE blat;GOUSE blat;GOCREATE TABLE dbo.splunge(Mort int);GOINSERT dbo.Splune(Mort) VALUES(1);SELECT * FROM dbo.splunge;GOMicrosoft SQL Server Management Studio連線LocalDB.Server Name使用codice_3程式設計介面.ADO.Net.using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace Connectionclass Programstatic void Main(string[] args)//構造連線字串SqlConnectionStringBuilder connStr = new SqlConnectionStringBuilder();connStr.DataSource = @".\SQLEXPRESS";connStr.InitialCatalog = "master";connStr.IntegratedSecurity = true;SqlConnection conn = new SqlConnection();//建立連線物件conn.ConnectionString = connStr.ConnectionString;//設定連線字串conn.Open();//開啟連線if(conn.State == ConnectionState.Open)Console.WriteLine("Database is linked.");Console.WriteLine("\nDataSource:{0}",conn.DataSource);Console.WriteLine("Database:{0}",conn.Database);Console.WriteLine("ConnectionTimeOut:{0}",conn.ConnectionTimeout);conn.Close();//關閉連線conn.Dispose();//釋放資源if(conn.State == ConnectionState.Closed)Console.WriteLine("\nDatabase is closed.");Console.Read();對於較高版本，如SQL Server Express大於版本2010的，可以透過在Visual Studio，依次點選“檢視”(選單欄)-&gt;“伺服器資源管理器方式訪問指定的mdf檔案。using System;using System.Collections.Generic;using System.Linq;using System.Data;using System.Data.SqlClient;namespace ConsoleAppclass Programstatic void Main(string[] args)System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection();connection.ConnectionString =@"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=D:\apps\Documents\NORTHWND.mdf;Integrated Security = True;Connect Timeout = 30;";//@"Data Source=(localdb)\MyInstance;InitialCatalog =blat;Integrated Security = True;Connect Timeout = 30;";connection.Open();if (connection.State == ConnectionState.Open)Console.WriteLine("Database is linked.");Console.WriteLine("DataSource:{0}", connection.DataSource);Console.WriteLine("Database:{0}", connection.Database);Console.WriteLine("ConnectionTimeOut:{0}", connection.ConnectionTimeout);SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Employees", connection);DataTable table = new DataTable();adapter.Fill(table);var result = (from rowin table.Rows.Cast()selectnew { ID = (int)row[0], LastName = (string)row[1], FirstName = (string)row[2] });result.ToList().ForEach(x =&gt; Console.WriteLine($"{x.ID},{x.LastName},{x.FirstName}"));對於較低版本，如SQL Server Express 2005的mdf檔案，可以直接用如下connection string開啟訪問：using System;using System.Collections.Generic;using System.Linq;using System.Data;using System.Data.SqlClient;namespace ConsoleAppclass Programstatic void Main(string[] args)System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection();connection.ConnectionString =@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\apps\Documents\NORTHWND.mdf;Integrated Security = True;Connect Timeout = 30;";connection.Open();if (connection.State == ConnectionState.Open)Console.WriteLine("Database is linked.");Console.WriteLine("DataSource:{0}", connection.DataSource);Console.WriteLine("Database:{0}", connection.Database);Console.WriteLine("ConnectionTimeOut:{0}", connection.ConnectionTimeout);Python.需要安裝pymssql包from sqlalchemy import create_engineimport pandas as pduser = 'username'pwd = 'password'url = 'thisisaserver.com'port = 1433db = 'database'engine = create_engine(f'mssql+pymssql://{user}:{pwd}@{url}:{port}/{db}')sql_stmt = "SELECT name FROM SYSOBJECTS WHERE xtype = 'U'"pd.read_sql_query(sql_stmt, engine)