Posts

Showing posts from 2016

Firewall open Protocol 47 GRE

Image
在安裝 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 一次查詢庫存天數分析

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

Oppo R9 Turn on/off developer mode

Image
First time turn on developer modeGo 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 modeGo to Settings > Additional settings > Developer options

then turn on (1) Developer options and (2) USB debugging

Code Snippet for SSMS

Image
在 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 自行修改完成的 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

Image
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 nee…