《隋书·炀帝纪》记载:大业元年(605)三月,隋炀帝委派官员营建东京(洛阳),要将豫州(旧洛阳城)的居民迁居新建的东京,还准备迁徙天下富商大贾数万家于东京。此外,为了方便皇帝巡视淮海,观风问俗,便征发河南各郡县的男女百万余人,开凿通济渠,自洛阳西苑引谷水、洛水流入黄河,又自板渚引黄河水流入淮河。
对此,《资治通鉴·隋纪四》的记载稍有不同,说隋炀帝是征发河南、淮北各郡县民夫,前后百余万,开通济渠,自西苑引谷水、洛水达于黄河,复自板渚引黄河水历荥泽(古湖泊名,又是县名,在郑州市西北)入汴河,又自大梁(今开封)之东引汴水入泗河而达于淮。
虽然二书对隋炀帝时开凿通济渠的事,记述得详略稍有不同,但所说通济渠的起止、经行之地以及与其他几条河的关系基本相同。这里的谷水、洛水都是由西向东流经洛阳的河,之后注入黄河。板渚,黄河津渡名,在河南省荥阳市北邙乡牛口峪附近、黄河南岸。隋炀帝时开凿的通济渠即由此向东南,经浚仪(今开封)、宋城(在今商丘南)、永城等地至淮河边的盱眙。
在开凿通济渠的同时,隋炀帝又征调十余万淮南民夫开邗沟,使通济渠与邗沟连为一体。虽然隋代开凿的通济渠不是后来的京杭大运河河道,但在中国运河发展史上仍占有重要地位,因为它是一条连接黄河与淮河的漕道。再通过淮河以南的邗沟,可将江淮地区的米粮漕运至东都洛阳。
通济渠开凿成功之后,隔了两年,于大业四年(608)正月,隋炀帝又发布诏令,征调河北各郡县男女百余万开凿永济渠,先引沁水向南流入黄河,再利用现有的河道加以开扩疏浚,向北通到涿郡。
沁水是源出山西省东南部沁源县的一条河,向东南流出山西省境后,转向东北流,为河南卫河上源的一支。本来与黄河没有关系,而引沁水南流入黄河后,便将沁水、卫河与黄河连通起来。引沁水南流的地址,当在河南武陟县。涿郡本为幽州,大业三年四月改州为郡,幽州遂改为涿郡,即今北京。所以,隋代所开通的永济渠,是连接黄河与涿郡的一条漕运渠道。如果将永济渠与先前开凿的通济渠联系起来看,实际上是将北方的涿郡(幽州)与江淮地区连通起来了。大业七年二月,隋炀帝从江都(今扬州)乘坐龙舟,循通济渠北上,再转入永济渠,于四月到达涿郡临朔宫。龙舟途中行驶了两个月。
隋炀帝开凿永济渠,目的在于用兵辽东,征讨高句丽。同年七月,隋炀帝征发江淮以南民夫及船只,将储存于黎阳(在今河南浚县、黄河北岸)及洛口(在河南巩县东南)等粮仓的米粮运到涿郡,运粮船前后相接有千余里。这些运粮船所经行的水路就是永济渠。到这年年底,开往辽东的战士和向前方运送粮草的民夫,拥挤于道,昼夜不绝。大业八年(612)正月,更多的大军会集于涿郡,开往辽东,总计有一百一十三万三千八百人,号称两百万,而运送粮草的民夫比军队多一倍。从第一军出发到最后一军开动,用了四十天。在长千里的大道上,旌旗招展,人头攒动,近古出师之盛,不曾有过。隋炀帝如此大规模地用兵辽东,军需供应全有赖于永济渠。
隋代的永济渠,其南段(大致从河南武陟到山东临清)基本是卫河,在京杭大运河之外。但自临清向北至直沽(天津)间的河段,基本与京杭大运河的南运河相同。其北段即自直沽到涿郡的渠道,按照《中国历史地图集·隋·河北诸郡》图幅的画法,是从天津向北至武清河西务,然后转向西北,大致循今凤河河道而至涿郡。但是,这种画法并不合适,有进一步研究的必要。
对于永济渠记述得最多、最为具体详细者,莫过于北宋人乐史所撰的《太平寰宇记》。例如,该书在德州将陵县下记载:“永济渠在县西十里。”在沧州清池县下记载:“永济河在县西三十里,自南皮县来,入乾宁军(治今青县),亦呼为御河。”在霸州大城县下记载:“永济渠在县东五十里”,等等。由此可见,自山东德州至天津间的永济渠,大体上与今南运河一致。若从天津再往北来,永济渠经行哪里呢?该书也说得至为明白。例如,在“破虏军”下云:“永济河自霸州永清县界来,经军界,下入淀泊,连海水。”按宋破虏军的治所就是古淤口关,淤口关就是今河北霸县东五十里的信安镇。明末清初的史地大家顾祖禹在《读史方舆纪要》卷十一中说:“信安城在(霸)州东五十里。唐置淤口关,后没于契丹。周世宗收复,置淤口寨。宋太平兴国六年(981)置破虏军,景德二年(1005)改信安军。金大定七年(1167)降为信安县,属霸州。”既然永济渠是自永清县南流至破虏军(今信安),那么,永济渠就不可能是今武清县北运河的河道了,而是远在其西百里之外。《宋史·河渠志·塘泺》记载:“塘泺,缘边诸水所聚,因以限辽。……东起乾宁军(河北青县),西(至)信安军永济渠为一水。西合鹅巢淀、陈人淀、燕丹淀、大光淀、孟宗淀为一水,横广一百二十里,纵三十里或五十里,其深丈余或六尺。东起信安军永济渠,西至霸州莫金口,合水纹淀、得胜淀、下光淀、小兰淀、李子淀、大兰淀为一水,横广七十里,(纵)十五里或六里,其深六尺或七尺。……”这里两次明确提到永济渠与信安军,说明永济渠的确经过信安处。又如,《太平寰宇记》卷六十九在“安次县”下记载:安次县“本汉旧县,东枕永济渠”。按汉安次县治在今廊坊西北不远的古县村,遗址尚见。《太平寰宇记》继续介绍安次县的沿革说:“唐武德四年(621),移于城东南五十里石梁城置。贞观八年(634)又自石梁城移理于今县西五里魏常道城置。开元二十三年(735)又自常道城东移耿就耿桥行市南置,即今县理是也。”按宋、辽时的安次县治在耿就桥,即今廊坊西二十余里的旧州(元代东安州治此,故名)镇。旧州西偏北五里有南常道、北常道村,就是三国魏常道城的所在地。而石梁城则在今廊坊南偏东的南辛庄镇附近。既然唐、宋时期的安次县“东枕永济渠”,那么,永济渠必定流经今廊坊市西的旧州镇东边。根据上述《太平寰宇记》《宋史·河渠志》的记载,可以断言,永济渠由南向北至直沽(天津)之后,借天然水泊之便,转向西至今霸县东部的信安镇(破虏军),然后转向西北,经永清县东境和廊坊市西的旧州镇,又西北至涿郡(今北京)。
隋炀帝时开凿的通济渠与永济渠南、北两大渠道,所经行之地多偏离京杭大运河河道,只有临清至天津间的永济渠与京杭大运河河道基本相同,《金史·地理志》于南皮、东光、将陵(今山东德州)、吴桥等县下皆注明“有永济渠”,可以为证。因为通济渠和永济渠连通了淮河、黄河、大清河等,在中国运河发展史上占有极其重要的地位。
《旧唐书·韦挺传》记载:贞观十九年(645),唐太宗准备用兵辽东,责令韦挺负责向前方漕运粮饷。韦挺奉命到幽州后,先派燕州司马王安德去巡视并疏通漕渠。韦挺便用幽州库存的财物,购买木料造船,然后运米而进。自桑干河(永定河)下至卢思台(当即芦台,今宁河县),去幽州八百里。途中碰上王安德回来,说从卢思台再向前去,漕渠壅塞,不能行船了。韦挺听王安德这么一说,也没有亲自去看一看,或者果断地采取疏通漕渠的措施,只是心想,现在北方正寒冷,天下大雪,船不能再向前开了,不如将船上的米粮先卸下来,存放在卢思台边,等待来年春天,再行转运,估计大军开到,军粮必定充足。韦挺是这么想的,也是这么干的,并且派人快马加鞭地回长安向唐太宗报告。结果,因为韦挺误了军国大事,被唐太宗罢官治罪。韦挺运粮自幽州经桑干河至卢思台,去幽州800里,其中走的一段水道应该就是永济渠的北段。
唐代也曾大量转运东吴的粳稻以供应幽燕地区,但多为海运。杜甫的《出塞》诗咏道:“渔阳豪侠地,击鼓吹笙竽。云帆转辽海,粳稻来东吴。”又《昔游》诗咏道:“幽燕盛用武,供给亦劳哉。吴门持粟帛,汎海凌蓬莱。”这些诗句都说明唐代是从海上由东吴之地向幽燕地区转运米粮的。但海运至直沽后,仍靠潮白河水运到幽燕。