發表文章

目前顯示的是 2016的文章

Firewall open Protocol 47 GRE

圖片
在安裝 VPN 時最後需要在防火牆設定: For PPTP: 1723 TCP and Protocol 47 GRE (also known as PPTP Pass-through) 1723 TCP 是指在防火牆上開啟一個  1723 PORT,是很常見的設定方式。 而要如何設定 Protocol 47 GRE ?? 以下就是設定的步驟,主要是前兩個動作與開放一個 PORT做法不一樣 以下就是一連串的 NEXT 直到最後一部輸入一個名稱即可。

T-SQL 一次查詢庫存天數分析

圖片
前提 ERP 系統中在財務方面有帳齡分析;在庫存方面有庫齡分析,這是要分析目前在庫產品的存放天數。 這裡有個簡化的範例資料,分別有一個庫存主檔與入庫明細檔, 庫存主檔有三個產品,經銷售後目前庫存量分別為 8, 24, 36 每項產品每個月均採購 10 個 最後要推算出 各項產品庫存分別在那月份採購 與 平均在庫天數 範例資料可以點擊後取得: Create T-SQL script 實作步驟 實作過程使用到 SQL Server 提供 T-SQL (較特別)的方法,包括: Using Common Table Expressions Using PIVOT and UNPIVOT ROW_NUMBER() IIF 1.查出各產品最近一次的入庫單 2. 以 CTE 往前一次交易推算 3  合計平均庫存天數 = 總庫存天數 / 庫存量 4 PIVOT 列出分布在各月份入庫數 完整 T-SQL script 如下

Oppo R9 Turn on/off developer mode

圖片
First time turn on developer mode Go to Setting > About phone, type [Build number] many times, when system show: No need to proceed this option, you are already a developer. Turn off / on developer mode Go to Settings > Additional settings > Developer options then turn on (1) Developer options and (2) USB debugging

Code Snippet for SSMS

圖片
在 SQL Server Management Studio (SSMS) 中也可以像 Visual Studio 使用程式碼片段,並可以自訂屬於個人或團隊的程式碼片段。 編輯中加入 Code snippet 在 SSMS Script 編輯區中,按下滑鼠右鍵,出現如下 點擊 [Insert Snippet] 或 [Surround With] 會出現搜尋工具,可以滑鼠挑選或輸入關鍵字進行搜尋 選擇 Code Snippet 後會在原本編輯區中加入以下的片段 這畫面上的變數會有醒目的底色,修改後按下 [Tab] 會移至下一個變數, 全部修改後按下 [Enter] 後原本醒目的底色消失,回到先前編輯得狀態。 Code snippet editor - Snippet Designer 每一個 Code snippet 都是一個附檔名為 .snippet 的 XML 檔案,建議透過 Visual Studio Extension 來編輯。 從 Visual Studio 選單 > [Tools]  > 點擊 [Extensions and Updates],如下圖順序操作,在搜尋框輸入 : Snippet Designer 安裝後 Visual Studio 重新啟動,新增檔案時,可以看到  Snippet Designer  下有 Code Snippet 的範本。 新增 Code Snippet 檔案前,必須在 Solution 或 專案下才能新增或開啟既有的 *.snippet 檔案。  編輯主畫面上方是(類似)程式碼,下方是宣告變數 在屬性視窗中 [Snippet Type] 會決定這個 Code Snippet 歸類在 [Insert Snippet] 或 [Surround With] 選擇 Expansion 會歸類在 [Insert Snippet] ,選擇 SurroundsWith 會歸類在 [Surround With] 。 建議可以參考或複製修改 SSMS 預設的 Code Snippet ,預設儲存的位置在 C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\SQL\Snippets 自訂 Code snippet 自行修改完成的

SQL Server Release Memory

In my case, when server run my data transfer task, the server memory will get hight. I need to restart service. Another way in discuss : [ SQL Server Bulk Insert Physical Memory Issue ] I write it to a stored procedure, like bellow: USE [master] GO /****** Object: StoredProcedure [dbo].[SQL_Server_Release_Memory] Script Date: 2/24/2016 12:42:10 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /*---------------------------------------------------- description: SQL Server Release Memory author: Robin date: 2016/02/24 testing code: ----------------------------------------------------- EXEC SQL_Server_Release_Memory -----------------------------------------------------*/ CREATE PROCEDURE [dbo].[SQL_Server_Release_Memory] AS BEGIN /*Query physical memory in use*/ SELECT [description], value_in_use , (select top 1 physical_memory_in_use_kb/1024 FROM sys.dm_os_process_memory) as physical_memory_in_use_mb FROM sys.configurations WHERE name ='max server memory (MB)'

Database Copy Paste

圖片
This  T-SQL script is like copy A database paste to another database B in SQL Server . My SQL Server version is 2014, haven’t run another version. /*declare*/ DECLARE @path varchar(100)='E:\SQL_DATA\BACKUP\'; DECLARE @backfile varchar(100)=@path+'SourceDB.baktmp'; /*backup*/ BACKUP DATABASE [SourceDB] TO DISK = @backfile WITH NOFORMAT , NOINIT , NAME = N'SourceDB-Full Database Backup' , SKIP, NOREWIND, NOUNLOAD, STATS = 10 ; /*import*/ ALTER DATABASE [TargetDB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE RESTORE DATABASE [TargetDB] FROM DISK = @backfile WITH FILE = 1 , MOVE N'TargetDB' TO N'E:\SQL_DATA\TargetDB.mdf' , MOVE N'TargetDB_log' TO N'E:\SQL_DATA\TargetDB_log.ldf' , NOUNLOAD, REPLACE, STATS = 5 ALTER DATABASE [TargetDB] SET MULTI_USER ; /*delete backup file*/ DECLARE @deldate varchar(10)= CONVERT(char, DATEADD(day, +1, GETDATE()), 111); EXECUTE master.dbo.xp_delete_file 0,@path,N'baktmp',@deldate; You