docker run -d \ --name=sql1 \ -e 'ACCEPT_EULA=Y' \ -e 'SA_PASSWORD=yourpassword' \ -p 1433:1433 \ --log-opt max-size=10m \ --log-opt max-file=3 \ mcr.microsoft.com/mssql/server:2019-latest 進入容器:sudo docker exec -it sql1 "bash" 以SA身份進入sqlcmd:/opt/mssql-tools/bin/sqlcmd -S localhost -U SA 停止容器:docker stop sqlserver 刪除容器:docker rm sqlserver 建立測試資料庫:CREATE DATABASE TestDB; 查詢以傳回您伺服器上所有資料庫的名稱:SELECT Name from sys.databases; **將內容切換至 TestDB 資料庫:USE TestDB;「確保位置下操作指令前必須使用」** 確認用戶以存在資料庫中:SELECT name FROM sys.database_principals WHERE type = 'S' AND name = 'yuyu'; 确保你已连接到你希望新增用户的数据库:CREATE USER yuyu FOR LOGIN yuyu; 授权用户访问数据库:GRANT SELECT, INSERT, UPDATE, DELETE ON schemaName.tableName TO yuyu; 創建架構:CREATE SCHEMA A3SmartTag; 授予架構權限:GRANT CONTROL ON SCHEMA::A3SmartTag TO yuyu; 建立資料表:CREATE TABLE dbo.A3_SMARTTAG_DECAY_DATA (id INT,SLOPE_S INT,SLOPE_X INT,SLOPE_Y INT,SLOPE_Z INT, SENSOR_MAC VARCHAR(30), quantity INT,UPDATE_TIME DATE); 針對資料表授權:GRANT SELECT ON dbo.A3_SMARTTAG_DECAY_DATA TO yuyu; 创建登录名:CREATE LOGIN yuyu WITH PASSWORD = 'Tp6ej04m6'; 一个数据库中选择数据并直接创建一个新表到另一个数据库中: USE SourceDatabase; SELECT * INTO TestDB.dbo.A3_SMARTTAG_DECAY_DATA FROM dbo.A3_SMARTTAG_DECAY_DATA; GO 顯示schema:SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'A3_SMARTTAG_DECAY_DATA' AND TABLE_SCHEMA = 'dbo'; import csv: BULK INSERT dbo.DIE_INFO FROM '/home/DIE_INFO2.csv' WITH ( FORMATFILE = '/home/formatfile.xml', FIELDTERMINATOR = ',', ROWTERMINATOR = '\n', FIRSTROW = 2 -- 如果文件包含列名行,则从第二行开始 ); 顯示所有資料表:SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' reference:https://learn.microsoft.com/zh-tw/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&tabs=cli&pivots=cs1-bash